Gson - Sürüm Oluşturma Desteği

Gson sağlar @SinceBir sınıfın çeşitli sürümlerine göre Json serileştirmesini / serisini kaldırmasını kontrol etmek için ek açıklama. Sürüm oluşturma desteği olan aşağıdaki sınıfı düşünün. Bu sınıfta, başlangıçta iki değişken tanımladıkrollNo ve name ve daha sonra ekledik verifiedyeni bir değişken olarak. @Since kullanarak, tanımladıkrollNo ve name 1.0 sürümünden itibaren ve 1.1 sürümünde olduğu doğrulandı.

class Student { 
   @Since(1.0) 
   private int rollNo; 
   
   @Since(1.0) 
   private String name; 
   
   @Since(1.1) 
   private boolean verified;  
}

GsonBuilder, setVersion() bu tür sürümlü sınıfı serileştirme yöntemi.

GsonBuilder builder = new GsonBuilder(); 
builder.setVersion(1.0);   
Gson gson = builder.create();

Misal

Uygulamada sürüm oluşturma desteğinin bir örneğini görelim. Adlı bir Java sınıf dosyası oluşturunGsonTester C: \> GSON_WORKSPACE içinde.

Dosya - GsonTester.java

import com.google.gson.Gson; 
import com.google.gson.GsonBuilder; 
import com.google.gson.annotations.Since;  

public class GsonTester { 
   public static void main(String args[]) { 
   
      GsonBuilder builder = new GsonBuilder(); 
      builder.setVersion(1.0);   
      Gson gson = builder.create();
      
      Student student = new Student(); 
      student.setRollNo(1); 
      student.setName("Mahesh Kumar"); 
      student.setVerified(true);  
      
      String jsonString = gson.toJson(student); 
      System.out.println(jsonString);  
      
      gson = new Gson();     
      jsonString = gson.toJson(student); 
      System.out.println(jsonString); 
   }      
} 

class Student { 
   @Since(1.0) 
   private int rollNo; 
   
   @Since(1.0) 
   private String name; 
   
   @Since(1.1) 
   private boolean verified;   
   
   public int getRollNo() { 
      return rollNo; 
   }  
   
   public void setRollNo(int rollNo) { 
      this.rollNo = rollNo; 
   } 
   
   public String getName() { 
      return name; 
   } 
   
   public void setName(String name) { 
      this.name = name; 
   }
   
   public void setVerified(boolean verified) { 
      this.verified = verified; 
   }  
   
   public boolean isVerified() { 
      return verified; 
   } 
}

Sonucu doğrulayın

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

C:\GSON_WORKSPACE>javac GsonTester.java

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

C:\GSON_WORKSPACE>java GsonTester

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

{"rollNo":1,"name":"Mahesh Kumar"} 
{"rollNo":1,"name":"Mahesh Kumar","verified":true}