Traitement JSON en Java : bibliothèques et outils pour travailler avec JSON

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Traitement JSON en Java : revue des bibliothèques et outils



JSON (JavaScript Object Notation) est un format léger d'échange de données largement utilisé dans les applications web modernes, les API REST, les fichiers de configuration et les bases de données. En Java, il existe plusieurs bibliothèques puissantes pour travailler avec JSON, chacune ayant ses propres caractéristiques, performances et facilité d'utilisation. Dans cet article, nous examinerons les principaux outils, leurs fonctionnalités, des exemples de code et les meilleures pratiques d'utilisation.



1. Jackson (FasterXML Jackson)

Jackson est la bibliothèque la plus populaire et la plus performante pour travailler avec JSON en Java. Elle prend en charge à la fois le traitement par flux (style SAX) et le modèle objet (style DOM). Jackson fait partie intégrante de Spring Boot et de nombreuses applications d'entreprise.



Principales fonctionnalités :

  • Sérialisation/désérialisation d'objets Java en JSON et vice versa
  • Traitement par flux de grands fichiers JSON (JsonParser, JsonGenerator)
  • Prise en charge des annotations pour un réglage fin (@JsonProperty, @JsonIgnore, @JsonFormat)
  • Travail avec l'arbre de nœuds (JsonNode)
  • Prise en charge du schéma JSON et de la validation


Exemple de code : utilisation de base de Jackson

import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.JsonNode;

public class JacksonExample { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper();

// Sérialisation d'un objet en JSON Person person = new Person("Ivan", 30, "ivan@example.com"); String json = mapper.writeValueAsString(person); System.out.println(json); // {"name":"Ivan","age":30,"email":"ivan@example.com"}

// Désérialisation de JSON en objet String jsonInput = "{\\"name\\":\\"Maria\\",\\"age\\":25}"; Person deserialized = mapper.readValue(jsonInput, Person.class); System.out.println(deserialized.getName()); // Maria

// Travail avec l'arbre de nœuds JsonNode root = mapper.readTree(jsonInput); System.out.println(root.get("age").asInt()); // 25 }}

class Person { private String name; private int age; private String email;

// Constructeurs, getters, setters (obligatoires pour la désérialisation) public Person() {} public Person(String name, int age, String email) { this.name = name; this.age = age; this.email = email; } // getters et setters...}


2. Gson (Google Gson)

Gson est une bibliothèque de Google, connue pour sa simplicité et sa légèreté. Elle est idéale pour les projets de petite et moyenne envergure où les performances maximales ne sont pas requises. Gson utilise la réflexion pour la sérialisation/désérialisation automatique.



Caractéristiques :

  • Configuration minimale — fonctionne "prêt à l'emploi"
  • Prise en charge des annotations (@Expose, @SerializedName)
  • Possibilité de créer des adaptateurs personnalisés (JsonSerializer, JsonDeserializer)
  • Travail avec des collections, des tableaux et des objets imbriqués


Exemple de code : Gson en action

import com.google.gson.Gson;import com.google.gson.GsonBuilder;

public class GsonExample { public static void main(String[] args) { Gson gson = new GsonBuilder() .setPrettyPrinting() // sortie formatée .create();

// Création de JSON à partir d'un objet Product product = new Product("Ordinateur portable", 899.99, true); String json = gson.toJson(product); System.out.println(json);

// Analyse de JSON en objet String jsonInput = "{\\"name\\":\\"Souris\\",\\"price\\":25.5,\\"available\\":false}"; Product parsed = gson.fromJson(jsonInput, Product.class); System.out.println(parsed.getName()); // Souris }}

class Product {

Recommendations