Gson - Datenbindung
Die Datenbindungs-API wird verwendet, um JSON mithilfe des Eigenschaftenzugriffs oder mithilfe von Anmerkungen in und von POJO (Plain Old Java Object) zu konvertieren. Es gibt zwei Arten.
Primitives Data Binding - Konvertiert JSON in und von Java Maps, Listen, Strings, Numbers, Booleans und NULL-Objekten.
Objects Data Binding - Konvertiert JSON in und von einem beliebigen JAVA-Typ.
Gson liest / schreibt JSON für beide Arten von Datenbindungen. Die Datenbindung erfolgt analog zum JAXB-Parser für XML.
Primitive Datenbindung
Die primitive Datenbindung bezieht sich auf die Zuordnung von JSON zu JAVA Core-Datentypen und integrierten Sammlungen. Gson bietet verschiedene eingebaute Adapter, mit denen primitive Datentypen serialisiert / deserialisiert werden können.
Beispiel
Lassen Sie uns die Bindung primitiver Daten in Aktion sehen. Hier ordnen wir JAVA-Basistypen direkt JSON zu und umgekehrt.
Erstellen Sie eine Java-Klassendatei mit dem Namen GsonTester im C:\>Gson_WORKSPACE.
File − GsonTester.java
import java.util.Arrays;
import com.google.gson.Gson;
public class GsonTester {
public static void main(String args[]) {
Gson gson = new Gson();
String name = "Mahesh Kumar";
long rollNo = 1;
boolean verified = false;
int[] marks = {100,90,85};
//Serialization
System.out.println("{");
System.out.println("name: " + gson.toJson(name) +",");
System.out.println("rollNo: " + gson.toJson(rollNo) +",");
System.out.println("verified: " + gson.toJson(verified) +",");
System.out.println("marks:" + gson.toJson(marks));
System.out.println("}");
//De-serialization
name = gson.fromJson("\"Mahesh Kumar\"", String.class);
rollNo = gson.fromJson("1", Long.class);
verified = gson.fromJson("false", Boolean.class);
marks = gson.fromJson("[100,90,85]", int[].class);
System.out.println("name: " + name);
System.out.println("rollNo: " + rollNo);
System.out.println("verified: " +verified);
System.out.println("marks:" + Arrays.toString(marks));
}
}
Überprüfen Sie das Ergebnis
Kompilieren Sie die Klassen mit javac Compiler wie folgt -
C:\GSON_WORKSPACE>javac GsonTester.java
Führen Sie nun die aus GsonTester um das Ergebnis zu sehen -
C:\GSON_WORKSPACE>java GsonTester
Überprüfen Sie die Ausgabe.
{
name: "Mahesh Kumar",
rollNo: 1,
verified: false,
marks:[100,90,85]
}
name: Mahesh Kumar
rollNo: 1
verified: false
marks:[100, 90, 85]