Travailler avec JSON en Java : analyse et sérialisation d'objets

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

Travailler avec JSON en Java : Analyse et Sérialisation



JSON (JavaScript Object Notation) est un format léger d'échange de données largement utilisé dans les applications web modernes, les API et les microservices. En Java, travailler avec JSON est devenu une partie intégrante du développement, que ce soit pour analyser les réponses des serveurs, sérialiser des objets pour le stockage ou transférer des données entre les composants du système. Dans cet article, nous examinerons en détail comment effectuer l'analyse et la sérialisation JSON en Java en utilisant deux bibliothèques populaires : Gson de Google et Jackson.



1. Qu'est-ce que JSON et pourquoi en a-t-on besoin en Java ?



JSON est un format texte basé sur des paires clé-valeur et des listes ordonnées. Il est facilement lisible par les humains et les machines, ce qui le rend idéal pour transférer des données entre un serveur et un client. En Java, JSON est utilisé pour :



  • L'échange de données via une API REST (par exemple, recevoir des données d'un serveur ou soumettre un formulaire).
  • Les fichiers de configuration — de nombreux frameworks utilisent JSON pour la configuration des applications.
  • La sérialisation d'objets — convertir des objets Java en une chaîne JSON pour les sauvegarder dans un fichier ou une base de données.
  • La désérialisation — restaurer des objets Java à partir d'une chaîne JSON.


Java n'avait pas de support JSON intégré avant la version 9 (lorsque le module java.json a été introduit), donc les développeurs utilisent le plus souvent des bibliothèques tierces comme Gson et Jackson. Examinons les deux.



2. Analyse JSON avec Gson



Gson est une bibliothèque légère de Google qui permet de convertir facilement du JSON en objets Java et vice versa. Elle est simple à utiliser et ne nécessite pas d'annotations supplémentaires pour les scénarios de base.



2.1. Installation de Gson



Ajoutez la dépendance à votre pom.xml (Maven) :

<dependency>    <groupId>com.google.code.gson</groupId>    <artifactId>gson</artifactId>    <version>2.10.1</version></dependency>


Si vous utilisez Gradle :

implementation 'com.google.code.gson:gson:2.10.1'


2.2. Analyse JSON en un objet Java (Désérialisation)



Supposons que nous ayons une chaîne JSON avec des informations d'utilisateur :

{  "name": "Ivan Petrov",  "age": 30,  "email": "ivan@example.com"}


Créons une classe User :

public class User {    private String name;    private int age;    private String email;

// Getters et Setters (nécessaires pour Gson) 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; }}


Analysons maintenant le JSON :

import com.google.gson.Gson;

public class Main { public static void main(String[] args) { String jsonString = "{\\"name\\":\\"Ivan Petrov\\",\\"age\\":30,\\"email\\":\\"ivan@example.com\\"}"; Gson gson = new Gson(); User user = gson.fromJson(jsonString, User.class); System.out.println("Nom : " + user.getName()); System.out.println("Âge : " + user.getAge()); }}


Sortie :

Nom : Ivan PetrovÂge : 30


2.3. Sérialisation d'un objet Java en JSON



Le processus inverse — convertir un objet en JSON :

User user = new User();user.setName("Maria Smirnova");user.setAge(25);user.setEmail("maria@example.com");

Gson gson = new Gson();String json = gson.toJson(user);System.out.println(json);


Résultat :

{"name":"Maria S                

Blogs

Book Recommendations