JSON-Verarbeitung in Java: Die Bibliotheken Jackson und Gson für die Datenarbeit

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

JSON-Verarbeitung in Java: Die Bibliotheken Jackson und Gson



JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat, das häufig in der Webentwicklung, bei APIs und in Microservices verwendet wird. In Java gibt es mehrere leistungsstarke Bibliotheken für die Arbeit mit JSON, von denen Jackson und Gson die bekanntesten sind. In diesem Artikel werden wir beide Bibliotheken, ihre Funktionen, Anwendungsbeispiele und Besonderheiten im Detail betrachten.



1. Die Bibliothek Jackson



Jackson ist eine leistungsstarke Bibliothek zur JSON-Verarbeitung in Java, entwickelt von FasterXML. Sie bietet eine vollständige Reihe von Werkzeugen für Serialisierung, Deserialisierung, Parsing und Datenkonvertierung. Jackson ist der De-facto-Standard im Spring-Ökosystem.



Hauptfunktionen von Jackson:

  • ObjectMapper — die Hauptklasse zur Konvertierung von Java-Objekten in JSON und umgekehrt.
  • Annotationen — flexible Konfiguration der Serialisierung mittels Annotationen (@JsonProperty, @JsonIgnore, @JsonFormat).
  • Unterstützung des Stream API — Lesen und Schreiben von JSON-Streams.
  • Anpassbare Serialisierung — Möglichkeit zur Erstellung eigener Serialisierer und Deserialisierer.


Beispiel für die Verwendung von Jackson:

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

public class JacksonExample { public static void main(String[] args) throws Exception { // Erstellen eines Mapping-Objekts ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT);

// Beispielklasse Person person = new Person("Ivan", 30, "ivan@example.com");

// Serialisierung in JSON String jsonString = mapper.writeValueAsString(person); System.out.println("JSON: " + jsonString);

// Deserialisierung aus JSON String jsonInput = "{\\"name\\":\\"Maria\\",\\"age\\":25,\\"email\\":\\"maria@example.com\\"}"; Person deserializedPerson = mapper.readValue(jsonInput, Person.class); System.out.println("Objekt: " + deserializedPerson.getName()); }}

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

public Person() {} // erforderlicher Konstruktor

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

// Getter und Setter 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; }}


Einbindung von Jackson (Maven):

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


2. Die Bibliothek Gson



Gson ist eine Bibliothek von Google zur Serialisierung und Deserialisierung von Java-Objekten in JSON und umgekehrt. Sie zeichnet sich durch einfache Handhabung und Leichtgewichtigkeit aus. Gson wird häufig für kleinere Projekte und die mobile Entwicklung unter Android gewählt.



Hauptfunktionen von Gson:

  • GsonBuilder — Konfiguration des Serialisierungsverhaltens.
  • Annotationen — Unterstützung von @SerializedName zum Umbenennen von Feldern.
  • Unterstützung von JSON-Arrays — Arbeit mit Sammlungen.
  • Null-Behandlung — Option zum Ein- oder Ausschließen von Null-Werten.


Beispiel für die Verwendung von Gson:

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

Empfehlungen