How to configure Gson to enable versioning support in Java?

JavaJSONObject Oriented ProgrammingProgramming

The Gson library provides a simple versioning system for the Java objects that it reads and writes and also provides an annotation named @Since for the versioning concept @Since(versionnumber).

We can create a Gson instance with versioning using the GsonBuilder().setVersion() method. If we mentioned like setVersion(2.0), means that all the fields having 2.0 or less are eligible to parse.

Syntax

public GsonBuilder setVersion(double ignoreVersionsAfter)

Example

import com.google.gson.*;
import com.google.gson.annotations.*;
public class VersionSupportTest {
   public static void main(String[] args) {
      Person person = new Person();
      person.firstName = "Raja";
      person.lastName = "Ramesh";
      Gson gson1 = new GsonBuilder().setVersion(1.0).setPrettyPrinting().create();
      System.out.println("Version 1.0:");
      System.out.println(gson1.toJson(person));
      Gson gson2 = new GsonBuilder().setVersion(2.0).setPrettyPrinting().create();
      System.out.println("Version 2.0:");
      System.out.println(gson2.toJson(person));
   }
}
// Person class
class Person {
   @Since(1.0)
   public String firstName;
   @Since(2.0)
   public String lastName;
}

Output

Version 1.0:
{
 "firstName": "Raja"
}
Version 2.0:
{
 "firstName": "Raja",
 "lastName": "Ramesh"
}
raja
Updated on 04-Jul-2020 12:20:30

Advertisements