Java Json Bibliotheken

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenwechselformat. Es ist einfach zu lesen und zu schreiben und wird weit verbreitet für den Datenaustausch zwischen Client und Server verwendet. In diesem Lab werden Sie lernen, wie Sie beliebte Java-JSON-Bibliotheken wie Jackson, Gson, Genson und Json-io verwenden, um Objekte in das JSON-Format zu serialisieren und zu deserialisieren.

Projekt einrichten

  1. Öffnen Sie das Terminal und navigieren Sie zum Projektverzeichnis, indem Sie cd ~/project ausführen.
  2. Erstellen Sie eine neue Java-Datei für dieses Lab, indem Sie im Terminal den Befehl touch JsonLab.java ausführen und den folgenden Code einfügen:
import java.io.IOException;

public class JsonLab {
    public static void main(String[] args) throws IOException {
        ClassA classAObj = new ClassA("Demo", 20.0); // Objekt erstellen, um es später zu serialisieren und zu deserialisieren
    }

    // Fügen Sie hier die ClassA-Klasse hinzu
}

Verwendung der Jackson-Bibliothek

  1. Um mit Jackson zu arbeiten, müssen wir die Jackson-Maven-Abhängigkeit in die pom.xml-Datei hinzufügen:
<dependencies>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
    </dependency>
</dependencies>
  1. Als Nächstes müssen wir Objekte in einen JSON-String serialisieren und deserialisieren, indem wir die ObjectMapper-Klasse wie folgt verwenden:
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonLab {
  public static void main(String[] args) throws IOException {
    ObjectMapper objMapper = new ObjectMapper();
    ClassA classAObj = new ClassA("Demo", 20.0);

    // Serialisierung
    String jsonString = objMapper.writeValueAsString(classAObj);
    System.out.println("Serialisierter String: " + jsonString);

    // Deserialisierung
    ClassA objFromStr = objMapper.readValue(jsonString, ClassA.class);
    System.out.print("Deserialisierter Objekt: " + objFromStr.getField1() + " " + objFromStr.getField2());
  }
}

Verwendung der Gson-Bibliothek

  1. Um mit Gson zu arbeiten, müssen wir die Gson-Maven-Abhängigkeit in die pom.xml-Datei hinzufügen:
<dependencies>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson.version}</version>
    </dependency>
</dependencies>
  1. Als Nächstes müssen wir Objekte mithilfe eines Gson-Objekts serialisieren und deserialisieren, wie folgt:
import com.google.gson.Gson;

public class JsonLab {
  public static void main(String[] args) throws IOException {
    Gson gson = new Gson();
    ClassA obj = new ClassA("Demo", 20.0);

    // Serialisierung
    String jsonStrFromObj = gson.toJson(obj);
    System.out.println("Serialisierter String: " + jsonStrFromObj);

    // Deserialisierung
    ClassA objFromJsonStr = gson.fromJson(jsonStrFromObj, ClassA.class);
    System.out.print("Deserialisierter Objekt: " + objFromJsonStr.getField1() + " " + objFromJsonStr.getField2());
  }
}

Verwendung der Genson-Bibliothek

  1. Um mit Genson zu arbeiten, müssen wir die Genson-Maven-Abhängigkeit in die pom.xml-Datei hinzufügen:
<dependencies>
    <dependency>
        <groupId>com.owlike</groupId>
        <artifactId>genson</artifactId>
        <version>${genson.version}</version>
    </dependency>
</dependencies>
  1. Als Nächstes müssen wir Objekte mithilfe eines Genson-Objekts serialisieren und deserialisieren, wie folgt:
import com.owlike.genson.Genson;

public class JsonLab {
  public static void main(String[] args) throws IOException {
    Genson genson = new Genson();
    ClassA obj = new ClassA("Demo", 20.0);

    // Serialisierung
    String jsonStrFromObj = genson.serialize(obj);
    System.out.println("Serialisierter String: " + jsonStrFromObj);

    // Deserialisierung
    ClassA objFromJsonStr = genson.deserialize(jsonStrFromObj, ClassA.class);
    System.out.print("Deserialisierter Objekt: " + objFromJsonStr.getField1() + " " + objFromJsonStr.getField2());
  }
}

Verwendung der Json-io-Bibliothek

  1. Um mit der Json-io-Bibliothek zu arbeiten, müssen wir die Json-io-Maven-Abhängigkeit in die pom.xml-Datei hinzufügen:
<dependencies>
  <dependency>
    <groupId>com.cedarsoftware</groupId>
    <artifactId>json-io</artifactId>
    <version>${json-io.version}</version>
  </dependency>
</dependencies>
  1. Als Nächstes müssen wir Objekte mithilfe von JsonWriter und JsonReader serialisieren und deserialisieren, wie folgt:
import com.cedarsoftware.util.io.JsonReader;
import com.cedarsoftware.util.io.JsonWriter;

public class JsonLab {
  public static void main(String[] args) throws IOException {
    ClassA obj = new ClassA("Demo", 20.0);

    // Serialisierung
    String jsonStrFromObj = JsonWriter.objectToJson(obj);
    System.out.println("Serialisierter String: " + jsonStrFromObj);

    // Deserialisierung
    ClassA objFromJsonStr = (ClassA) JsonReader.jsonToJava(jsonStrFromObj);
    System.out.print("Deserialisierter Objekt: " + objFromJsonStr.getField1() + " " + objFromJsonStr.getField2());
  }
}

Zusammenfassung

In diesem Lab lernen Sie, wie Sie verschiedene Java-JSON-Bibliotheken verwenden, um Objekte in das JSON-Format zu konvertieren und umgekehrt. Wir haben gelernt, wie Sie die Jackson-, Gson-, Genson- und Json-io-Bibliotheken verwenden, um Objekte zu serialisieren und zu deserialisieren in JSON.