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]