Gson - Enlace de datos

La API de enlace de datos se utiliza para convertir JSON hacia y desde POJO (Objeto Java antiguo simple) mediante el acceso de propiedad o mediante anotaciones. Es de dos tipos.

  • Primitives Data Binding - Convierte JSON hacia y desde Java Maps, Lists, Strings, Numbers, Booleanos y objetos NULL.

  • Objects Data Binding - Convierte JSON hacia y desde cualquier tipo de JAVA.

Gson lee / escribe JSON para ambos tipos de enlaces de datos. El enlace de datos es análogo al analizador JAXB para XML.

Enlace de datos primitivos

El enlace de datos primitivos se refiere al mapeo de JSON a tipos de datos JAVA Core y colecciones incorporadas. Gson proporciona varios adaptadores incorporados que se pueden usar para serializar / deserializar tipos de datos primitivos.

Ejemplo

Veamos el enlace de datos primitivos en acción. Aquí asignaremos los tipos básicos de JAVA directamente a JSON y viceversa.

Cree un archivo de clase Java llamado GsonTester en 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)); 
   } 
}

Verifica el resultado

Compila las clases usando javac compilador de la siguiente manera:

C:\GSON_WORKSPACE>javac GsonTester.java

Ahora ejecuta el GsonTester para ver el resultado -

C:\GSON_WORKSPACE>java GsonTester

Verifique la salida.

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

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