Gson - Versionierungsunterstützung
Gson bietet @SinceAnmerkung zur Steuerung der Json-Serialisierung / Deserialisierung einer Klasse basierend auf ihren verschiedenen Versionen. Betrachten Sie die folgende Klasse mit Versionsunterstützung. In dieser Klasse haben wir zunächst zwei Variablen definiertrollNo und name und später fügten wir hinzu verifiedals neue Variable. Mit @Since haben wir definiertrollNo und name ab Version 1.0 und als Version 1.1 verifiziert.
class Student {
@Since(1.0)
private int rollNo;
@Since(1.0)
private String name;
@Since(1.1)
private boolean verified;
}
GsonBuilder bietet die setVersion() Methode zum Serialisieren einer solchen versionierten Klasse.
GsonBuilder builder = new GsonBuilder();
builder.setVersion(1.0);
Gson gson = builder.create();
Beispiel
Sehen wir uns ein Beispiel für die Versionsunterstützung in Aktion an. Erstellen Sie eine Java-Klassendatei mit dem NamenGsonTester in C: \> GSON_WORKSPACE.
Datei - 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;
}
}
Überprüfen Sie das Ergebnis
Kompilieren Sie die Klassen mit javac Compiler wie folgt -
C:\GSON_WORKSPACE>javac GsonTester.java
Führen Sie nun den GsonTester aus, um das Ergebnis anzuzeigen -
C:\GSON_WORKSPACE>java GsonTester
Überprüfen Sie die Ausgabe.
{"rollNo":1,"name":"Mahesh Kumar"}
{"rollNo":1,"name":"Mahesh Kumar","verified":true}