@एनोटेशन के बाद से setVersion() . के साथ उपयोग कर सकते हैं GsonBuilder . की विधि कक्षा। यह एनोटेशन जावा क्लास में एक फ़ील्ड पर लागू हो सकता है और फ्लोट को एक तर्क के रूप में स्वीकार करता है। यह तर्क उस संस्करण संख्या का प्रतिनिधित्व करता है जिसमें फ़ील्ड को क्रमबद्ध किया गया है। वही अक्रमांकन प्रक्रिया पर लागू हो सकता है।
सिंटैक्स
@Documented @Retention(value=RUNTIME) @Target(value={FIELD,TYPE}) public @interface Since
उदाहरण
import com.google.gson.annotations.Since; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class GsonSinceAnnotationTest { public static void main(String[] args) { Employee emp = new Employee(); emp.setEmployeeName("Raja Ramesh"); emp.setEmployeeId(125); emp.setEmployeeTechnology("Java"); emp.setEmploeeAddress("Hyderabad"); System.out.println("Since version 0.5"); GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.setPrettyPrinting().setVersion(0.5).create(); String jsonString = gson.toJson(emp); System.out.println(jsonString); System.out.println("Since version 1.0"); gsonBuilder = new GsonBuilder(); gson = gsonBuilder.setPrettyPrinting().setVersion(1.0).create(); jsonString = gson.toJson(emp); System.out.println(jsonString); System.out.println("Since version 1.1"); gsonBuilder = new GsonBuilder(); gson = gsonBuilder.setPrettyPrinting().setVersion(1.1).create(); jsonString = gson.toJson(emp); System.out.println(jsonString); } } // Employee class class Employee { private String empName; private int empId; @Since(1.0) private String empTech; @Since(1.1) private String empAddress; public String getEmployeeName() { return empName; } public void setEmployeeName(String empName) { this.empName = empName; } public int getEmployeeId() { return empId; } public void setEmployeeId(int empId) { this.empId = empId; } public String getEmployeeTechnology() { return empTech; } public void setEmployeeTechnology(String empTech) { this.empTech = empTech; } public String getEmploeeAddress() { return empAddress; } public void setEmploeeAddress(String empAddress) { this.empAddress = empAddress; } }
आउटपुट
Since version 0.5 { "empName": "Raja Ramesh", "empId": 125 } Since version 1.0 { "empName": "Raja Ramesh", "empId": 125, "empTech": "Java" } Since version 1.1 { "empName": "Raja Ramesh", "empId": 125, "empTech": "Java", "empAddress": "Hyderabad" }