Maison  >  Article  >  interface Web  >  Qu'est-ce que JsonObject

Qu'est-ce que JsonObject

(*-*)浩
(*-*)浩original
2019-05-18 19:56:2111690parcourir

JSONObject est une structure de données, qui peut être comprise comme une structure de données au format JSON, c'est-à-dire la structure "clé-valeur". Son format est "{"key1":value1,"key2", value2.... }"; Pour ajouter des éléments à JSONObject, vous pouvez utiliser les méthodes put et get.

Qu'est-ce que JsonObject

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Java 8, ordinateur DELL G3.

JSONObject est une structure de données, qui peut être comprise comme une structure de données au format JSON (structure clé-valeur). Vous pouvez utiliser la méthode put pour ajouter des éléments à l'objet json. JSONObject peut être facilement converti en chaîne, et d'autres objets peuvent également être facilement convertis en objets JSONObject.

Format JsonObject :

{"key1":value1,"key2",value2....}

key doit être une chaîne.

Quel est le rôle de jsonobject ?

JsonObject est souvent appelé json. C'est un objet important de transmission de données.

Étant donné que les requêtes ajax n'actualisent pas la page, mais peuvent réaliser une actualisation partielle avec js, json est donc souvent utilisé comme objet de retour des requêtes asynchrones.

Récupérez le mot de passe PrintWriter via Response.getWriter(), puis pw.print(json). Si Response.setContentType("application/json; charset=utf-8"); n'est pas défini, vous devez l'analyser vous-même dans js.

Pour ajouter des éléments à JSONObject, vous pouvez utiliser la méthode put(key,value) et appeler la méthode élément get(key). De plus, JsonObject est une donnée importante. objet de transmission. Il est indispensable dans les travaux pratiques.

1. Construisez json

1. Instanciez un objet JSONObject et écrivez les données à l'aide de la méthode put().

JSONObject obj = new JSONObject();
obj.put(key, value);

2. Utilisez HashMap pour construire

En fait, vous créez d'abord un objet HashMap et y emballez les données, puis vous l'utilisez comme un objet HashMap. JSONObject lors de la création Un paramètre est transmis.

Map<String, Object> data = new HashMap<String, Object>();
data.put("name", "John");
data.put("sex", "male");
data.put("age", 22);
data.put("is_student", true);
data.put("hobbies", new String[] {"hiking", "swimming"});

JSONObject obj = new JSONObject(data);
// 或是下面这种写法,将 java 对象转换为 json 对象
JSONObject obj = JSONObject.fromObject(data);

3. Utilisez JavaBean pour construire

Cette méthode est plus couramment utilisée dans la pratique.
Créer javaBean :

public class PersonInfo {
    private String name;
    private String sex;
    private int age;
    private boolean isStudent;
    private String[] hobbies;

Build json :

PersonInfo info = new PersonInfo();
info.setName("John");
info.setSex("male");
info.setAge(22);
info.setStudent(true);
info.setHobbies(new String[] {"hiking", "swimming"});

JSONObject obj = new JSONObject(info);
// 或是下面这种写法,将 java 对象转换为 json 对象
JSONObject obj = JSONObject.fromObject(data);

Remarque : JavaBean doit avoir une méthode getter, sinon les données stockées ne seront pas accessibles.

2. Analyse de json

L'analyse de json concerne principalement les types de base tels que Number, boolean, etc., et array Array.
L'analyse des types de base appelle directement la méthode getXxx(key) de l'objet JSONObject Si une chaîne est obtenue, getString(key) est utilisée, et pour une valeur booléenne, getBoolean(key) est utilisée.
Pour analyser un tableau, vous devez obtenir un objet JSONArray via la méthode getJSONArray(key) de l'objet JSONObject, puis appeler la méthode get(i) de l'objet JSONArray pour obtenir les éléments du tableau, où i est le valeur d'indice.

1. Analyse de chaîne JSON contenant un seul objet

//将得到json数据转换为一个json对象
JSONObject jsonObject = new JSONObject(data);
//获取"persons"的json对象
jsonObject = jsonObject.getJSONObject("persons");
//通过相应的get方法,获取相应的属性
int id = jsonObject.getInt("id");
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
//将获取到的数据放到一个Person对象中
Person person = new Person(id, name, age);

2 Chaîne JSON contenant plusieurs objets

List<Person> list = new ArrayList<>();
//将得到json数据转换为一个json对象
JSONObject jsonObject = new JSONObject(data);
//获取"persons"的json对象,并将其转换为一个json数组
JSONArray array = jsonObject.getJSONArray("persons");
//通过循环获取数据,并放入list集合中
for (int i = 0;i<array.length();i++){
    int id = array.getJSONObject(i).getInt("id");
    String name = array.getJSONObject(i).getString("name");
    int age = array.getJSONObject(i).getInt("age");
    Person person = new Person(id, name, age);
    list.add(person);
}
return list;
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn