Maison > interface Web > js tutoriel > Qu'est-ce que JsonObject

Qu'est-ce que JsonObject

(*-*)浩
Libérer: 2022-04-07 15:30:42
original
11742 Les gens l'ont consulté

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....}
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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;
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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;
Copier après la connexion
.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal