Traitement JSON en Java : bibliothèques Jackson et Gson pour la manipulation de données

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 : bibliothèques Jackson et Gson



JSON (JavaScript Object Notation) est un format léger d'échange de données, largement utilisé dans le développement web, les API et les microservices. En Java, il existe plusieurs bibliothèques puissantes pour travailler avec JSON, parmi lesquelles les plus populaires sont Jackson et Gson. Dans cet article, nous examinerons en détail les deux bibliothèques, leurs fonctionnalités, des exemples d'utilisation et leurs particularités.



1. Bibliothèque Jackson



Jackson est une bibliothèque haute performance pour le traitement JSON en Java, développée par FasterXML. Elle fournit un ensemble complet d'outils pour la sérialisation, la désérialisation, l'analyse syntaxique et la transformation de données. Jackson est la norme de facto dans l'écosystème Spring.



Principales fonctionnalités de Jackson :

  • ObjectMapper — la classe principale pour convertir des objets Java en JSON et vice versa.
  • Annotations — configuration flexible de la sérialisation à l'aide d'annotations (@JsonProperty, @JsonIgnore, @JsonFormat).
  • Prise en charge de Stream API — lecture et écriture de flux JSON.
  • Sérialisation personnalisée — possibilité de créer ses propres sérialiseurs et désérialiseurs.


Exemple d'utilisation de Jackson :

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

public class JacksonExample { public static void main(String[] args) throws Exception { // Création de l'objet de mappage ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT);

// Exemple de classe Person person = new Person("Иван", 30, "ivan@example.com");

// Sérialisation en JSON String jsonString = mapper.writeValueAsString(person); System.out.println("JSON : " + jsonString);

// Désérialisation depuis JSON String jsonInput = "{\\"name\\":\\"Мария\\",\\"age\\":25,\\"email\\":\\"maria@example.com\\"}"; Person deserializedPerson = mapper.readValue(jsonInput, Person.class); System.out.println("Objet : " + deserializedPerson.getName()); }}

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

public Person() {} // constructeur obligatoire

public Person(String name, int age, String email) { this.name = name; this.age = age; this.email = email; }

// getters et setters 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; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}


Ajout de Jackson (Maven) :

<dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-databind</artifactId>    <version>2.15.2</version></dependency>


2. Bibliothèque Gson



Gson est une bibliothèque de Google pour la sérialisation et la désérialisation d'objets Java en JSON et vice versa. Elle se distingue par sa simplicité d'utilisation et sa légèreté. Gson est souvent choisi pour les petits projets et le développement mobile sur Android.



Principales fonctionnalités de Gson :

  • GsonBuilder — configuration du comportement de sérialisation.
  • Annotations — prise en charge de @SerializedName pour renommer les champs.
  • Prise en charge des tableaux JSON — travail avec les collections.
  • Gestion des valeurs nulles — option d'inclusion/exclusion des valeurs nulles.


Exemple d'utilisation de Gson :

import com.google.gson.Gson;import com.google.gson.GsonB                    

Recommendations