Plugin-Erstellung/Java/JSON in der Java-Programmiersprache

Aus Rising World Wiki

JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenformat zur Speicherung und zum Austausch von strukturierten Daten zwischen verschiedenen Plattformen und Programmen. Es ist leicht lesbar für Menschen und einfach zu parsen für Maschinen. In der Java-Programmiersprache gibt es verschiedene Bibliotheken zur Verarbeitung von JSON-Daten, die eine einfache Integration und Nutzung ermöglichen.


Überblick über JSON

JSON ist eine textbasierte Datenformatierung, die aus Schlüssel-Wert-Paaren besteht. Die Daten werden in Form von Objekten oder Arrays dargestellt, wobei Objekte in geschweiften Klammern und Arrays in eckigen Klammern geschrieben werden.

Beispiel eines einfachen JSON-Objekts:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}


JSON Bibliotheken

Um JSON-Daten in Java zu verarbeiten, gibt es mehrere Bibliotheken zur Auswahl.
Hier sind einige:

JSON-Bibliotheken für Java
Name Link Beschreibung Lizenz Update
Jackson Jackson auf GitHub Jackson ist eine umfassende Java-Bibliothek zur Verarbeitung von JSON-Daten. Sie bietet leistungsstarke Funktionen zum Analysieren, Generieren und Manipulieren von JSON. Apache License 2.0 2024
Version 2.17
minimal-json minimal-json auf GitHub minimal-json ist eine leichte und schnelle Bibliothek zur Verarbeitung von JSON in Java. Sie zielt darauf ab, den Overhead auf ein Minimum zu reduzieren und ist einfach zu integrieren. MIT License 2017
Version 0.9.5
org.json (JSON-java) org.json auf GitHub org.json ist eine einfache Java-Bibliothek zur Verarbeitung von JSON-Daten. Sie bietet grundlegende Funktionen zum Lesen, Schreiben und Manipulieren von JSON und ist einfach zu verwenden. Public Domain 2024
Version 20240303
Json-simple Json-simple auf GitHub Json-simple ist eine schlanke und einfache Bibliothek zur Verarbeitung von JSON in Java. Sie bietet eine minimale API zum Parsen und Generieren von JSON und ist leichtgewichtig. Apache License 2.0 2012
Version 1.1.1
Google Gson Gson auf GitHub Google Gson ist eine leistungsstarke Java-Bibliothek zur Konvertierung von Java-Objekten in JSON und umgekehrt. Sie bietet eine einfache API und ist weit verbreitet in Java-Anwendungen. Apache License 2.0 2023
Version 2.10.1
jsoniter (json-iterator) jsoniter auf GitHub
Homepage Dokumentation
jsoniter ist eine schnelle und flexible Java-Bibliothek zur Verarbeitung von JSON-Daten. Sie bietet hohe Leistung und geringen Overhead für die Verarbeitung großer JSON-Datenmengen. MIT License 2018
Version 0.9.23
Moshi Moshi auf GitHub Moshi ist eine moderne JSON-Bibliothek für Java und Android. Sie bietet eine leistungsstarke API zur Serialisierung und Deserialisierung von JSON und ist besonders für die Verwendung mit Kotlin geeignet. Apache License 2.0 2024
Version 1.15.1
FlexJson FlexJson auf sourceforge FlexJson ist eine flexible und erweiterbare Bibliothek zur Verarbeitung von JSON in Java. Sie bietet Funktionen zum Analysieren, Generieren und Transformieren von JSON-Daten und ist einfach zu verwenden. Apache License 2.0 2010
Version 2.1

Beispiele

Hier sind einige Beispiele

Verwendung von Gson

import com.google.gson.Gson;

public class Main 
{
    public static void main(String[] args) 
    {
        Gson gson = new Gson();
        String json = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}";
        Person person = gson.fromJson(json, Person.class);
        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
    }
}

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

    // Getter und Setter
}

Verwendung von Jackson

import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Main 
{
    public static void main(String[] args) throws Exception 
	{
        ObjectMapper objectMapper = new ObjectMapper();
        String json = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}";
        Person person = objectMapper.readValue(json, Person.class);
        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
    }
}

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

    // Getter und Setter
}

Verwendung von Jsoniter

import com.jsoniter.JsonIterator;
import com.jsoniter.any.Any;
import com.jsoniter.output.JsonStream;

public class Main 
{
    public static void main(String[] args) 
	{
        // JSON-String für das Beispiel
        String jsonString = "{\"name\":\"John Doe\",\"age\":30}";

        // jsoniter verwenden, um JSON in ein Objekt zu parsen
        JsonIterator iter = JsonIterator.parse(jsonString);
        Any personJsoniter = iter.readAny();
        String name = personJsoniter.get("name").toString();
        int age = personJsoniter.get("age").toInt();
        Person personJsoniter = new Person(name, age);
        System.out.println("jsoniter - Name: " + personJsoniter.getName());
        System.out.println("jsoniter - Age: " + personJsoniter.getAge());

        // jsoniter verwenden, um ein Objekt in JSON zu konvertieren
        Person person = new Person("Jane Doe", 25);
        String jsonJsoniter = JsonStream.serialize(person);
        System.out.println("jsoniter - JSON: " + jsonJsoniter);
    }
}

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

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

    public String getName() {
        return name;
    }

    // Getter und Setter ...
}

...

Fazit

JSON ist ein äußerst nützliches Datenformat für die Speicherung und den Austausch von Daten in modernen Anwendungen. In der Java-Programmiersprache stehen leistungsstarke Bibliotheken zur Verfügung, die die Verarbeitung von JSON-Daten einfach und effizient machen.


Siehe auch