Dans ce chapitre, nous allons présenter comment utiliser JSON dans le langage Java.

Sélection de la bibliothèque

Java ne dispose pas d'un analyseur JSON intégré, donc l'utilisation de JSON nécessite une bibliothèque tierce.

Voici plusieurs bibliothèques d'analyse JSON couramment utilisées :

  • Gson: une bibliothèque JSON développée par Google, avec des fonctionnalités très complètes.
  • FastJson: une bibliothèque JSON développée par Alibaba, avec d'excellentes performances.
  • Jackson: la communauté est très active et les mises à jour sont très rapides.

Le tutoriel suivant est basé sur FastJson.

Configuration de l'environnement

Dans un projet construit avec Maven, ajoutez simplement la dépendance suivante au fichier pom.xml.

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>

Encodage et décodage

Encodage

Le processus d'encodage des variables Java au format JSON est le suivant :

Exemple

public void testJson() { JSONObject object = new JSONObject(); //string object.put("string","string"); //int object.put("int",2); //boolean object.put("boolean",true); //array List<Integer> integers = Arrays.asList(1,2,3); object.put("list",integers); //null object.put("null",null); ​ System.out.println(object); }

Dans l'exemple ci-dessus, créez d'abord un objet JSON, puis ajoutez une chaîne, un entier, un booléen et un tableau dans l'ordre, et enfin affichez-le sous forme de chaîne.

Le résultat de sortie est le suivant :

{"boolean":true,"string":"string","list":[1,2,3],"int":2}

Décodage

Le processus de décodage des objets JSON vers des variables Java est le suivant :

Exemple

public void testJson2() { ​ JSONObject object = JSONObject .parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}"); //string String s = object.getString("string"); System.out.println(s); //int int i = object.getIntValue("int"); System.out.println(i); //boolean boolean b = object.getBooleanValue("boolean"); System.out.println(b); //list List<Integer> integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class); integers.forEach(System.out::println); //null System.out.println(object.getString("null")); ​ }

Dans l'exemple ci-dessus, on construit d'abord un objet JSON à partir d'une chaîne au format JSON, puis on lit dans l'ordre la chaîne, l'entier, le booléen et le tableau, et enfin on les affiche séparément. Le résultat affiché est le suivant :

string
2
true
1
2
3
null

Conversion entre objets JSON et chaînes de caractères

MéthodeDescription
JSON.parseObject()Analyser un objet JSON à partir d'une chaîne
JSON.parseArray()Analyser un tableau JSON à partir d'une chaîne
JSON.toJSONString(obj/array)Convertir un objet JSON ou un tableau JSON en chaîne

Exemple

//Analyser un objet JSON à partir d'une chaîne JSONObject obj = JSON.parseObject("{\"exemple\":\"Exemple\"}"); //Analyser un tableau JSON à partir d'une chaîne JSONArray arr = JSON.parseArray("[\"Exemple\",\"EXAMPLE\"]\n"); //Convertir un objet JSON en une chaîne String objStr = JSON.toJSONString(obj); //Convertir un tableau JSON en une chaîne String arrStr = JSON.toJSONString(arr);

Tutoriels associés