JSON (JavaScript Object Notation) ist ein beliebtes Datenformat für den Austausch von strukturierten Daten zwischen Systemen. In der Java-Welt ist Gson eine führende Bibliothek zur Verarbeitung von JSON-Daten. Mit der Einführung von Java Records in Java 14 bietet sich eine elegante Möglichkeit, JSON-Dokumente in Java einzulesen. In diesem Artikel werden wir einen detaillierten Blick darauf werfen, wie man JSON-Dokumente in Java mithilfe von Gson und Java Records einliest.

Was ist Gson?

Gson ist eine Open-Source-Bibliothek, die von Google entwickelt wurde, um die Umwandlung von JSON-Daten in Java-Objekte und umgekehrt zu erleichtern. Sie bietet eine einfache API und viele nützliche Funktionen zum Umgang mit JSON-Daten in Java-Anwendungen. Gson unterstützt verschiedene Arten von Datenkonvertierungen, einschließlich Serialisierung und Deserialisierung von Java-Objekten in JSON und umgekehrt.

Einrichten von Gson in Ihrem Projekt

Bevor Sie Gson verwenden können, müssen Sie sicherstellen, dass es in Ihrem Java-Projekt verfügbar ist. Fügen Sie dazu die Gson-Abhängigkeit Ihrer Build-Datei hinzu. Wenn Sie beispielsweise Maven verwenden, können Sie dies tun, indem Sie die folgenden Zeilen zu Ihrer pom.xml-Datei hinzufügen:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.8</version>
</dependency>Code-Sprache: HTML, XML (xml)

Nachdem Sie die Gson-Abhängigkeit hinzugefügt haben, können Sie damit beginnen, JSON-Daten in Java einzulesen.

Einlesen von JSON-Dokumenten mit Java Records

Java Records, die in Java 14 eingeführt wurden, bieten eine kompakte Möglichkeit, Datenobjekte zu definieren. Sie ermöglichen die Deklaration von Datenklassen mit weniger Boilerplate-Code. Durch die Kombination von Gson und Java Records können wir JSON-Dokumente in Java auf eine saubere und effiziente Weise einlesen.

Angenommen, wir haben folgendes JSON-Dokument:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}Code-Sprache: JSON / JSON mit Kommentaren (json)

Und wir haben eine entsprechende Java Record-Klasse Person, die diese Daten repräsentiert:

public record Person(String name, int age, String city) {}Code-Sprache: JavaScript (javascript)

Um dieses JSON-Dokument in ein Person-Objekt einzulesen, können wir den folgenden Code verwenden:

import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        String json = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}";
        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);

        System.out.println("Name: " + person.name());
        System.out.println("Age: " + person.age());
        System.out.println("City: " + person.city());
    }
}Code-Sprache: JavaScript (javascript)

Hier verwenden wir die fromJson()-Methode von Gson, um das JSON-Dokument in ein Person-Objekt zu konvertieren. Das Ergebnis wird dann verwendet, um die entsprechenden Eigenschaften der Person auszugeben.

Verarbeiten von komplexen JSON-Strukturen

Gson kann auch mit komplexeren JSON-Strukturen umgehen. Wenn beispielsweise das JSON-Dokument eine verschachtelte Struktur hat, können wir Java Records verwenden, um diese Struktur abzubilden. Betrachten wir ein Beispiel:

{
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "New York",
    "zip": "10001"
  },
  "phones": [
    "123-456-7890",
    "987-654-3210"
  ]
}Code-Sprache: JSON / JSON mit Kommentaren (json)

Wir können Java Records verwenden, um die Struktur des JSON-Dokuments abzubilden:

public record Address(String street, String city, String zip) {}

public record Person(String name, int age, Address address, List<String> phones) {}Code-Sprache: JavaScript (javascript)

Der restliche Code bleibt weitgehend unverändert. Wir verwenden weiterhin die fromJson()-Methode von Gson, um das JSON-Dokument in ein Person-Objekt einzulesen. Gson kümmert sich um die Deserialisierung der JSON-Daten und die Zuordnung zu den entsprechenden Java-Objekteigenschaften.

Fazit

Die Kombination von Gson und Java Records bietet eine elegante Möglichkeit, JSON-Dokumente in Java einzulesen. Java Records reduzieren den Boilerplate-Code erheblich und machen den Code lesbarer. Gson macht die Deserialisierung von JSON-Daten einfach und unkompliziert. Mit diesem Wissen sollten Sie in der Lage sein, Gson und Java Records effektiv in Ihren eigenen Projekten zu verwenden und JSON-Daten problemlos in Java zu verarbeiten.