Gson 版本支持
gson 版本支持
gson提供 @since 注釋來控制基于其各種版本的類的 json 序列化/反序列化。考慮以下具有版本控制支持的類。在這個(gè)類中,我們最初定義了兩個(gè)變量 rollno 和 name 以及稍后,我們添加了 驗(yàn)證 為新變量。使用 @since,我們已經(jīng)定義了版本1.0的 rollno 和 name ,并驗(yàn)證了版本1.1。
class student { @since(1.0) private int rollno; @since(1.0) private string name; @since(1.1) private boolean verified; }
gsonbuilder提供了 setversion() 方法來序列化這樣的版本化類。
gsonbuilder builder = new gsonbuilder(); builder.setversion(1.0); gson gson = builder.create();
1. 范例
讓我們看一下版本支持的實(shí)例。在c:> gson_workspace中創(chuàng)建名為 gsontester 的java類文件。
文件: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; } }
2. 驗(yàn)證結(jié)果
使用 javac 編譯器編譯類如下:
c:\gson_workspace>javac gsontester.java
現(xiàn)在運(yùn)行g(shù)sontester查看結(jié)果:
c:\gson_workspace>java gsontester
驗(yàn)證輸出。
{"rollno":1,"name":"mahesh kumar"} {"rollno":1,"name":"mahesh kumar","verified":true}
相關(guān)文章
- JDBC 教程
- JDBC 驅(qū)動(dòng)類型
- JDBC 連接數(shù)據(jù)庫(kù)范例
- JDBC 連接數(shù)據(jù)庫(kù)步驟
- JDBC Statement, PreparedStatement 和 CallableStatement
- JDBC ResultSet 結(jié)果集
- JDBC Resultset 結(jié)果集范例
- JDBC 事務(wù)保存點(diǎn)范例
- Scala 教程
- Scala 簡(jiǎn)介
- Scala 類和對(duì)象
- Scala 文件 I/O
- Spring 教程
- Spring 模塊
- Spring 依賴注入
- Spring 自動(dòng)裝配
- Spring MVC教程
- Spring MVC表單標(biāo)簽庫(kù)
- Spring security