Gson - Veri Bağlama

Veri Bağlama API'si, özellik erişimcisini veya ek açıklamaları kullanarak JSON'u POJO'ya (Düz Eski Java Nesnesi) dönüştürmek için kullanılır. İki çeşittir.

  • Primitives Data Binding - JSON'u Java Haritaları, Listeler, Dizeler, Sayılar, Booleanlar ve NULL nesnelerine ve bunlardan dönüştürür.

  • Objects Data Binding - JSON'u herhangi bir JAVA türüne ve türünden dönüştürür.

Gson, her iki veri bağlama türü için JSON okur / yazar. Veri Bağlama, XML için JAXB ayrıştırıcısına benzer.

Temel Veri Bağlama

Temel veriler veri bağlama, JSON'un JAVA Core veri türlerine ve dahili koleksiyonlara eşlenmesini ifade eder. Gson, ilkel veri türlerini serileştirmek / seriyi kaldırmak için kullanılabilen çeşitli dahili bağdaştırıcılar sağlar.

Misal

İlkel veri bağlamayı çalışırken görelim. Burada JAVA temel türlerini doğrudan JSON ile eşleyeceğiz ve bunun tersini de yapacağız.

Adlı bir Java sınıf dosyası oluşturun GsonTester içinde 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)); 
   } 
}

Sonucu doğrulayın

Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici -

C:\GSON_WORKSPACE>javac GsonTester.java

Şimdi çalıştırın GsonTester sonucu görmek için -

C:\GSON_WORKSPACE>java GsonTester

Çıkışı doğrulayın.

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

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