Gson - Liaison de données

L'API de liaison de données est utilisée pour convertir JSON vers et depuis POJO (Plain Old Java Object) à l'aide d'un accesseur de propriété ou à l'aide d'annotations. Il est de deux types.

  • Primitives Data Binding - Convertit JSON vers et depuis des objets Java Maps, Lists, Strings, Numbers, Booleans et NULL.

  • Objects Data Binding - Convertit JSON vers et depuis n'importe quel type JAVA.

Gson lit / écrit JSON pour les deux types de liaisons de données. La liaison de données est analogue à l'analyseur JAXB pour XML.

Liaison de données primitives

La liaison de données primitives fait référence au mappage de JSON aux types de données JAVA Core et aux collections intégrées. Gson fournit divers adaptateurs intégrés qui peuvent être utilisés pour sérialiser / désérialiser les types de données primitifs.

Exemple

Voyons la liaison de données primitive en action. Ici, nous allons mapper les types de base JAVA directement vers JSON et vice versa.

Créez un fichier de classe Java nommé GsonTester dans 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)); 
   } 
}

Vérifier le résultat

Compilez les classes en utilisant javac compilateur comme suit -

C:\GSON_WORKSPACE>javac GsonTester.java

Maintenant, exécutez le GsonTester pour voir le résultat -

C:\GSON_WORKSPACE>java GsonTester

Vérifiez la sortie.

{ 
   name: "Mahesh Kumar", 
   rollNo: 1, 
   verified: false, 
   marks:[100,90,85] 
} 

name: Mahesh Kumar 
rollNo: 1 
verified: false 
marks:[100, 90, 85]