JSON in Java deserialisieren
- JSON in Java deserialisieren
-
Deserialisieren Sie JSON mit der
JSON-Java
-API -
Deserialisieren Sie JSON mit der
Jackson
-API
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:
- Abwärtskompatibilität
- Es gibt keine externen Abhängigkeiten.
- Es hat eine schnelle Ausführung und einen geringen Speicherbedarf.
- Konsistente und zuverlässige Ergebnisse
- 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.
writeValue(...)
: Wird verwendet, um das Java-Objekt in ein JSON-Objekt zu konvertieren. (Serialisierung)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 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