JSON in Java deserialisieren

Sheeraz Gul 12 Oktober 2023
  1. JSON in Java deserialisieren
  2. Deserialisieren Sie JSON mit der JSON-Java-API
  3. Deserialisieren Sie JSON mit der Jackson-API
JSON in Java deserialisieren

Dieses Tutorial zeigt, wie JSON in Java deserialisiert wird.

JSON in Java deserialisieren

Es gibt verschiedene Bibliotheken, die für JSON-Operationen verwendet werden. Diese Bibliotheken können auch JSON-Objekte in Java serialisieren und deserialisieren.

Deserialisieren Sie JSON mit der JSON-Java-API

Für die Serialisierung und Deserialisierung von JSON-Objekten in Java gibt es eine Bibliothek JSON-Java. Diese Bibliothek analysiert JSON-Objekte oder -Dokumente in Java-Objekte oder generiert JSON-Objektdokumente aus Java-Klassen.

Diese Bibliothek kann mit Gradle in Java hinzugefügt werden. Die Gradle-Abhängigkeit für JSON-Java ist:

implementation 'org.json:json:20210307'

Die JSON-Java kommt mit verschiedenen Features und ist besser als viele andere ähnliche Bibliotheken. Die Hauptmerkmale sind:

  1. Abwärtskompatibilität
  2. Es gibt keine externen Abhängigkeiten.
  3. Es hat eine schnelle Ausführung und einen geringen Speicherbedarf.
  4. Konsistente und zuverlässige Ergebnisse
  5. Es bietet die Einhaltung der JSON-Spezifikation.
import org.json.JSONObject;

public class Example {
  public static void main(String[] args) {
    String JSON_Object = "" "
    {
      "name" : "Sheeraz Gul",
               "occupation" : "Software Engineer",
                              "salary" : "6000",
                                         "height" : "186.6",
                                                    "married" : "false"
    }
    "" ";

        var User_Info = new JSONObject(JSON_Object);

    System.out.println(User_Info.get("name"));
    System.out.println(User_Info.get("occupation"));
    System.out.println(User_Info.get("salary"));
    System.out.println(User_Info.get("height"));
    System.out.println(User_Info.get("married"));
  }
}

Der obige Code deserialisiert das JSON-Objekt in ein Java-Objekt. Siehe Ausgabe:

Sheeraz Gul
Software Engineer
6000
186.6
false

Deserialisieren Sie JSON mit der Jackson-API

Jackson ist eine Open-Source-Bibliothek für JSON-Operationen in Java. Die Bibliothek kann JSON-Objekte in Java serialisieren und deserialisieren.

Die Bibliothek verfügt über zwei Hauptmethoden für die Serialisierung und Deserialisierung.

  1. writeValue(...): Wird verwendet, um das Java-Objekt in ein JSON-Objekt zu konvertieren. (Serialisierung)
  2. readValue(...): Wird verwendet, um ein JSON-Objekt in ein Java-Objekt zu konvertieren. (Deserialisierung)

Jackson kann verwendet werden, indem es zum maven-Projekt hinzugefügt wird. Die Abhängigkeit für die Jackson API ist:

<dependency>
		<groupId>org.codehaus.jackson</groupId>
		<artifactId>jackson-mapper-asl</artifactId>
		<version>1.9.13</version>
	</dependency>

Diese Abhängigkeit gilt für Jackson 1.x; es gibt auch eine neuere Version, Jackson 2.x. Versuchen wir ein Beispiel, um ein JSON-Objekt in ein Java-Objekt zu deserialisieren.

package delftstack;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

public class Example {
  public static void main(String[] args) {
    ObjectMapper Object_Mapper = new ObjectMapper();

    try {
      // JSON string from file to java Object
      User User_File = Object_Mapper.readValue(new File("G:\\delftstack.json"), User.class);
      System.out.println(User_File);

      // JSON string to java Object
      String jsonInString = "{\"name\":Sheeraz,\"salary\":\"6000\", \"company\":\"Delftstack\"}";
      User User_String = Object_Mapper.readValue(jsonInString, User.class);
      System.out.println(User_String);

    } catch (JsonGenerationException e) {
      e.printStackTrace();
    } catch (JsonMappingException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Der obige Code deserialisiert ein JSON-Objekt aus einer Datei und einem String in ein Java-Objekt. Sowohl die Datei als auch die Zeichenfolge enthalten dasselbe JSON-Objekt.

Siehe Ausgabe:

User [name=Sheeraz, Salary=6000, Company=Delftstack]

User [name=Sheeraz, Salary=6000, Company=Delftstack]
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Verwandter Artikel - Java JSON