Qu'est-ce que Gson et pourquoi en a-t-on besoin ?
\n\nGson est une bibliothèque puissante pour le langage Java, développée par Google, qui permet de convertir des objets Java en leur représentation JSON (sérialisation) et, inversement, de restaurer des objets Java à partir de chaînes JSON (désérialisation). JSON (JavaScript Object Notation) est un format léger d'échange de données largement utilisé dans les API web, les fichiers de configuration et pour le stockage de données structurées.
\n\nPourquoi utiliser Gson ? Dans le développement moderne d'applications Java, pratiquement aucun projet ne se passe de travailler avec JSON. Que ce soit pour communiquer avec une API REST, lire des configurations ou échanger des données entre microservices, Gson offre un moyen simple, rapide et fiable de conversion. Contrairement à la bibliothèque standard Java (org.json), Gson peut travailler directement avec des objets Java arbitraires (POJO), en faisant automatiquement correspondre les champs de la classe avec les clés JSON. Cela évite au développeur d'avoir à analyser manuellement et à écrire du code passe-partout.
Installation de Gson
\n\nGson est une bibliothèque Java, elle est donc distribuée via des systèmes de gestion de dépendances pour la JVM. Voici les méthodes d'installation pour les outils de construction les plus populaires.
\n\nMaven
\nAjoutez la dépendance suivante à votre fichier pom.xml :
<dependency>\n <groupId>com.google.code.gson</groupId>\n <artifactId>gson</artifactId>\n <version>2.10.1</version> <!-- Vérifiez la version actuelle sur Maven Central -->\n</dependency>\n\nGradle
\nAjoutez au fichier build.gradle :
implementation 'com.google.code.gson:gson:2.10.1'\n\nTéléchargement direct du JAR
\nSi vous n'utilisez pas de systèmes de construction, téléchargez le fichier JAR depuis Maven Central et ajoutez-le au classpath de votre projet.
\n\nImportant : Contrairement à Python (pip) ou Node.js (npm), Java n'a pas de gestionnaire de paquets unique. Maven et Gradle sont la norme de facto.
\n\nDémarrage rapide : premier exemple
\n\nCréons une classe simple Person et sérialisons-la en JSON, puis désérialisons-la à nouveau.
import com.google.gson.Gson;\n\npublic class QuickStart {\n public static void main(String[] args) {\n // 1. Créer un objet\n Person person = new Person("Ivan", 30, "ivan@example.com");\n\n // 2. Créer une instance de Gson\n Gson gson = new Gson();\n\n // 3. Sérialisation (Java -> JSON)\n String json = gson.toJson(person);\n System.out.println("JSON : " + json);\n // Sortie : JSON : {"name":"Ivan","age":30,"email":"ivan@example.com"}\n\n // 4. Désérialisation (JSON -> Java)\n String jsonInput = "{\\"name\\":\\"Maria\\",\\"age\\":25,\\"email\\":\\"maria@test.com\\"}";\n Person personFromJson = gson.fromJson(jsonInput, Person.class);\n System.out.println("Nom : " + personFromJson.getName());\n // Sortie : Nom : Maria\n }\n}\n\nclass Person {\n private String name;\n private int age;\n private String email;\n\n // Un constructeur par défaut (sans arguments) est obligatoire pour la désérialisation !\n public Person() {}\n\n public Person(String name, int age, String email) {\n this.name = name;\n this.age = age;\n this.email = email;\n }\n\n public String getName() { return name; }\n public int getAge() { return age; }\n public String getEmail() { return email; }\n}\n\nMéthodes et fonctions principales de Gson
\n\nVoici les méthodes clés de la bibliothèque Gson. Chaque méthode est accompagnée d'une description et d'un exemple fonctionnel.
\n\n1. Gson.toJson(Object src)
\nCe qu'elle fait : Sérialise l'objet Java passé en paramètre en une chaîne JSON. C'est la méthode la plus basique pour convertir un objet en JSON.
\n
Aussi dans la bibliothèque
Envoi d'email en Kotlin : bibliothèques, exemples et configuration SMTP
Géolocalisation et cartes en C# (.NET) : aperçu des bibliothèques et outils
Sérialisation d'objets dans Node.js : JSON, Buffer et Protobuf
Symfony/Validator PHP : guide complet avec exemples