Arbeiten mit JSON in Java: Parsing und Serialisierung in der Praxis

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

Einführung in die Arbeit mit JSON in Java

JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat, das in modernen Webanwendungen, APIs und Microservices weit verbreitet ist. In Java ist die Arbeit mit JSON ein wesentlicher Bestandteil der Entwicklung: vom Lesen von Konfigurationsdateien bis zur Interaktion mit RESTful-Diensten. In diesem Artikel werden wir praktisch erläutern, wie man Parsing (Umwandlung von JSON in Java-Objekte) und Serialisierung (Umwandlung von Java-Objekten in JSON) mit den beiden beliebtesten Bibliotheken durchführt: Jackson und Gson.

Wir betrachten reale Codebeispiele, lernen, wie man verschachtelte Strukturen verarbeitet, und analysieren typische Fehler. Am Ende des Artikels werden Sie sicher mit JSON in jedem Java-Projekt arbeiten können.



1. Wichtige Bibliotheken für die Arbeit mit JSON

Jackson vs Gson: Was wählen?

Auf dem Java-Markt gibt es mehrere Bibliotheken für die Arbeit mit JSON, aber zwei davon haben sich zum De-facto-Standard entwickelt:

  • Jackson – eine leistungsfähigere und funktionalere Bibliothek. Unterstützt Annotationen, Stream-Verarbeitung und benutzerdefinierte Serialisierer. Empfohlen für Enterprise-Projekte.
  • Gson – eine einfache und leichte Bibliothek von Google. Ideal für kleine Projekte und schnelles Prototyping.

Um eine von ihnen einzubinden, reicht es, die entsprechende Abhängigkeit in pom.xml (Maven) oder build.gradle (Gradle) hinzuzufügen.



Einbindung von Jackson (Maven)

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


Einbindung von Gson (Maven)

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


2. JSON-Parsing: Von einem String zu einem Java-Objekt

Parsing ist der Prozess der Umwandlung eines JSON-Strings in ein Java-Objekt. Betrachten wir beide Ansätze am Beispiel einer einfachen Klasse User.



Erstellung des Datenmodells

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

// Ein leerer Konstruktor ist zwingend erforderlich! public User() {}

// 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; }}


Parsing mit Jackson

import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonParsingExample { public static void main(String[] args) throws Exception { String json = "{\\"name\\":\\"Ivan\\",\\"age\\":30,\\"email\\":\\"ivan@example.com\\"}"; ObjectMapper mapper = new ObjectMapper(); User user = mapper.readValue(json, User.class); System.out.println("Name: " + user.getName()); System.out.println("Alter: " + user.getAge()); }}


Parsing mit Gson

import com.google.gson.Gson;

public class GsonParsingExample { public static void main(String[] args) { String json = "{\\"name\\":\\"Maria\\",\\"age\\":25,\\"email\\":\\"maria@example.com\\"}"; Gson gson = new Gson(); User user = gson.fromJson(json, User.class); System.out.println("Name: " + user.getName()); System.out.println("Email: " + user.getEmail()); }}


3. Serialisierung: Von einem Java-Objekt zu JSON

Serialisierung ist der umgekehrte Prozess: Wir nehmen ein Java-Objekt und wandeln es in einen JSON-String um. Dies ist beispielsweise notwendig, um

Blogs

Buchempfehlungen