How to configure Gson to enable versioning support in Java?


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"
}

Updated on: 04-Jul-2020

88 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements