Objekt in JSON in Java serialisieren
Dieses Tutorial demonstriert die Verwendung von Java-JSON
und Jackson
API, um ein Objekt in JSON in Java zu serialisieren.
Objekt in JSON in Java serialisieren
Es gibt verschiedene Bibliotheken, die für JSON-Operationen verwendet werden. Diese Bibliotheken können auch Java-Objekte mithilfe der Java-Programmierung in JSON serialisieren.
Verwenden Sie die Java-JSON
-API, um Java-Objekte in JSON zu serialisieren
Java-JSON
ist eine Drittanbieter-API zur Durchführung von JSON-Operationen in Java, da Java JSON im integrierten Modus nicht unterstützt. Diese Bibliothek kann Java-Objekte in JSON serialisieren.
Das Java-JSON
kommt mit verschiedenen Features und ist besser als viele ähnliche Bibliotheken. Die Hauptmerkmale sind:
- Rückwärtskompatibilität.
- Konsistente und zuverlässige Ergebnisse.
- Es hat eine schnelle Ausführung und einen geringen Speicherbedarf.
- Es gibt keine externen Abhängigkeiten.
- Es bietet die Einhaltung der JSON-Spezifikation.
Bevor Sie diese API verwenden, müssen Sie sie Ihrem Erstellungspfad hinzufügen. Dies kann einfach mit der Gradle-Projektabhängigkeit durchgeführt werden:
implementation 'org.json:json:20210307'
Sie können es auch zu Ihrem allgemeinen Java-Projekt hinzufügen, indem Sie die jar
-Datei dieser API von hier herunterladen und sie dem Build-Pfad Ihres Projekts hinzufügen.
Das Java-JSON
stellt eine Klasse JSONWriter
bereit, mit der wir Java-Daten in ein JSON-Objekt serialisieren können. Versuchen wir es an einem Beispiel:
package delftstack;
import java.io.StringWriter;
import java.io.Writer;
import org.json.JSONException;
import org.json.JSONWriter;
public class Example {
public static void main(String[] args) throws JSONException {
Writer DemoUser = new StringWriter();
var JSON_Writer = new JSONWriter(DemoUser);
JSON_Writer.object();
JSON_Writer.key("Name").value("Sheeraz");
JSON_Writer.key("Occupation").value("Software Engineer");
JSON_Writer.key("Age").value(28);
JSON_Writer.key("Married").value(false);
JSON_Writer.key("Skills");
JSON_Writer.array();
JSON_Writer.value("Java");
JSON_Writer.value("Python");
JSON_Writer.value("PHP");
JSON_Writer.value("Matlab");
JSON_Writer.value("R");
JSON_Writer.endArray();
JSON_Writer.endObject();
System.out.println(DemoUser);
}
}
Der obige Code serialisiert die Daten mithilfe der JSONWriter
-Klasse der API in ein JSON-Objekt. Siehe Ausgabe:
{"Name":"Sheeraz","Occupation":"Software Engineer","Age":28,"Married":false,"Skills":["Java","Python","PHP","Matlab","R"]}
Verwenden Sie die Jackson
-API, um das Java-Objekt in JSON zu serialisieren
Jackson
ist eine Open-Source-Bibliothek für JSON-Operationen in Java. Die Bibliothek kann JSON-Objekte in Java serialisieren und deserialisieren.
Diese Bibliothek hat die Methode writeValue(...)
, die verwendet wird, um Java-Objekte in JSON-Objekte zu serialisieren. Diese API kann als Maven-Abhängigkeit hinzugefügt werden:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
Eine andere Möglichkeit besteht darin, Ihrem allgemeinen Projekterstellungspfad jars
für die Jackson-API hinzuzufügen. Laden Sie die Gläser
von den folgenden Links herunter:
Sobald die API jetzt zum Build-Pfad hinzugefügt wurde, können wir ein Beispiel zum Serialisieren von Java-Objekten in JSON ausprobieren:
package delftstack;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
public class Example {
public static void main(String args[]) {
Example JSON_Tester = new Example();
try {
Employee Employee1 = new Employee();
Employee1.setAge(28);
Employee1.setName("Sheeraz");
JSON_Tester.writeJSON(Employee1);
Employee Employee2 = JSON_Tester.readJSON();
System.out.println(Employee2);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private void writeJSON(Employee employee)
throws JsonGenerationException, JsonMappingException, IOException {
ObjectMapper Object_Mapper = new ObjectMapper();
Object_Mapper.writeValue(new File("employee.json"), employee);
}
private Employee readJSON() throws JsonParseException, JsonMappingException, IOException {
ObjectMapper Object_Mapper = new ObjectMapper();
Employee employee = Object_Mapper.readValue(new File("employee.json"), Employee.class);
return employee;
}
}
class Employee {
private String Employee_Name;
private int Employee_Age;
public Employee() {}
public String getName() {
return Employee_Name;
}
public void setName(String Employee_Name) {
this.Employee_Name = Employee_Name;
}
public int getAge() {
return Employee_Age;
}
public void setAge(int Employee_Age) {
this.Employee_Age = Employee_Age;
}
public String toString() {
return "Employee [Employee Name: "+Employee_Name+",
Employee Age: "+Employee_Age+ " ]";
}
}
Der obige Code konvertiert die Daten aus einer Java-Klasse in JSON. Siehe Ausgabe:
Employee [Employee Name: Sheeraz, Employee Age: 28 ]
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 FacebookVerwandter Artikel - Java Object
- XML in Java-Objekt parsen
- Implementierung von Data Access Object in Java
- Objekt zu String serialisieren in Java
- Konvertieren von Objekt in Java in Int
- Sortieren ein Array von Objekten in Java