Traitement JSON en Java : aperçu des bibliothèques et exemples pratiques
JSON (JavaScript Object Notation) est un format léger d'échange de données, largement utilisé dans le développement web, les applications mobiles et les microservices. En Java, il existe plusieurs bibliothèques populaires pour travailler avec JSON. Dans cet article, nous examinerons les trois principales : Jackson, Gson et org.json, et nous fournirons des exemples pratiques d'analyse, de sérialisation et de génération de JSON.
1. Jackson — la bibliothèque la plus populaire
Jackson (com.fasterxml.jackson.core) est une bibliothèque puissante avec des performances élevées. Elle prend en charge les annotations, les flux et la configuration complète du mappage. Pour l'ajouter, incluez dans Maven :
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.2</version></dependency>Exemple : sérialisation d'un objet en JSON
import com.fasterxml.jackson.databind.ObjectMapper;import java.util.*;
public class JacksonExample { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper();
// Création d'un objet Map<String, Object> user = new HashMap<>(); user.put("name", "Иван"); user.put("age", 30); user.put("skills", Arrays.asList("Java", "Spring", "SQL"));
// Sérialisation en chaîne JSON String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(user); System.out.println(json); }}Sortie :
{ "name" : "Иван", "age" : 30, "skills" : [ "Java", "Spring", "SQL" ]}Exemple : analyse JSON en objet Java
import com.fasterxml.jackson.databind.ObjectMapper;
public class ParseJson { public static void main(String[] args) throws Exception { String json = "{\\"name\\":\\"Анна\\",\\"age\\":25}";
ObjectMapper mapper = new ObjectMapper(); User user = mapper.readValue(json, User.class);
System.out.println("Nom : " + user.getName()); System.out.println("Âge : " + user.getAge()); }}
class User { private String name; private int age;
// getters et setters obligatoires public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}2. Gson — une bibliothèque légère et simple de Google
Gson (com.google.code.gson) se distingue par la simplicité de son API et une configuration minimale. Convient aux petits projets. Maven :
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.10.1</version></dependency>Exemple : génération de JSON à partir d'une Map
import com.google.gson.Gson;import com.google.gson.GsonBuilder;import java.util.*;
public class GsonExample { public static void main(String[] args) { Gson gson = new GsonBuilder().setPrettyPrinting().create();
Map<String, Object> data = new LinkedHashMap<>(); data.put("title", "Пример"); data.put("completed", false); data.put("tags", List.of("java", "json"));
String json = gson.toJson(data); System.out.println(json); }}Exemple : analyse JSON en liste d'objets
import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;import java.util.*;
public class GsonParseList { public static void main(String[] args) { String json = "[{\\"id\\":1,\\"name\\":\\"Товар А\\"},{\\"id\\":2,\\"name\\":\\"Товар Б\\"}]"; Aussi dans la bibliothèque
better-sqlite3-typescript avec TypeScript : guide complet et exemples
MPAndroidChart Kotlin : guide complet avec exemples
Envoi d'email en Java : bibliothèque Jakarta Mail (JavaMail)
Apprentissage automatique en JavaScript (Node.js) : bibliothèques pour le ML