Plugin-Erstellung/Java/JSON in der Java-Programmiersprache: Unterschied zwischen den Versionen

Aus Rising World Wiki
Keine Bearbeitungszusammenfassung
(→‎Beispiele: Verwendung von Jsoniter)
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 17: Zeile 17:




== Verwendung von JSON in Java ==
== JSON Bibliotheken ==
Um JSON-Daten in Java zu verarbeiten, gibt es mehrere Bibliotheken zur Auswahl.  
Um JSON-Daten in Java zu verarbeiten, gibt es mehrere Bibliotheken zur Auswahl. <br/>
Hier sind einige <br/> ... <br/>  
Hier sind einige:
{| class="wikitable sortable"  style="margin-left:1px;"
|+ JSON-Bibliotheken für Java
! Name !! Link !! Beschreibung !! Lizenz !! Update
|-
| Jackson || [https://github.com/FasterXML/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  <br/> Version [https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.17 2.17]
|-
| minimal-json || [https://github.com/ralfstx/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  <br/> Version [https://github.com/ralfstx/minimal-json/releases 0.9.5]
|-
| org.json (JSON-java) || [https://github.com/stleary/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  <br/> Version [https://github.com/stleary/JSON-java/releases 20240303]
|-
| Json-simple || [https://github.com/fangyidong/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  <br/> Version [https://github.com/fangyidong/json-simple/releases/tag/tag_release_1_1_1 1.1.1]
|-
| Google Gson || [https://github.com/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  <br/> Version [https://github.com/google/gson/releases 2.10.1]
|-
| jsoniter (json-iterator) || [https://github.com/json-iterator/java jsoniter auf GitHub] <br>[https://jsoniter.com/ Homepage] [https://jsoniter.com/java-features.html 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  <br/> Version [https://github.com/json-iterator/java/releases 0.9.23]
|-
| Moshi || [https://github.com/square/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  <br/> Version [https://github.com/square/moshi/tags 1.15.1]
|-
| FlexJson || [https://flexjson.sourceforge.net 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  <br/> Version [https://sourceforge.net/projects/flexjson/files/ 2.1]
|}


== Beispiele ==
Hier sind einige Beispiele
=== Verwendung von Gson ===
<syntaxhighlight lang="java">
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
}
</syntaxhighlight>
=== Verwendung von Jackson ===
<syntaxhighlight lang="java">
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
}
</syntaxhighlight>
=== Verwendung von Jsoniter ===
<syntaxhighlight lang="java">
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 ...
}
</syntaxhighlight>
...


== Fazit ==
== Fazit ==

Aktuelle Version vom 3. Mai 2024, 14:58 Uhr

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