Gson class

gson class

gson 是google gson 庫的主要類。它提供了將 java 對象轉(zhuǎn)換為匹配json結(jié)構(gòu)的功能,反之亦然。首先使用 gsonbuilde r構(gòu)造 gson,然后使用 tojson(object)或fromjson(string,class)方法來讀/寫 json 結(jié)構(gòu)。

 

1. 類聲明

以下是 com.google.gson.gson 類的聲明-

public final class gson
extends object

 

2. 構(gòu)造函數(shù)

s.no 構(gòu)造函數(shù)和描述
1 gson() 使用默認配置構(gòu)造gson對象。

 

3. 分類方法

s.no 方法和描述
1 t fromjson(jsonelement json, class classoft) 此方法將json讀取從指定的解析樹反序列化為指定類型的對象。
2 t fromjson(jsonelement json, type typeoft) 此方法將json讀取從指定的解析樹反序列化為指定類型的對象。
3 t fromjson(jsonreader reader, type typeoft) 從reader讀取下一個json值并將其轉(zhuǎn)換為typeoft類型的對象。
4 t fromjson(reader json, class classoft) 此方法將指定讀取器的json讀取反序列化為指定類的對象。
5 t fromjson(reader json, type typeoft) 此方法將指定讀取器的json讀取反序列化為指定類型的對象。
6 t fromjson(string json, class classoft) 此方法將指定的json反序列化為指定類的對象。
7 t fromjson(string json, type typeoft) 此方法將指定的json反序列化為指定類型的對象。
8 typeadapter getadapter(class type) 返回類型的類型適配器。
9 typeadapter getadapter(typetoken type) 返回類型的類型適配器。
10 typeadapter getdelegateadapter(typeadapterfactory skippast, typetoken type) 此方法用于獲取指定類型的備用類型適配器。
11 string tojson(jsonelement jsonelement) 將jsonelements樹轉(zhuǎn)換為等效的json表示。
12 void tojson(jsonelement jsonelement, appendable writer) 為jsonelements樹寫出等效的json。
13 void tojson(jsonelement jsonelement, jsonwriter writer) 將jsonelement的json寫入writer。
14 string tojson(object src) 此方法將指定對象序列化為其等效的json表示形式。
15 void tojson(object src, appendable writer) 此方法將指定對象序列化為其等效的json表示形式。
16 string tojson(object src, type typeofsrc) 此方法將指定對象(包括泛型類型的對象)序列化為其等效的json表示形式。
17 void tojson(object src, type typeofsrc, appendable writer) 此方法將指定對象(包括泛型類型的對象)序列化為其等效的json表示形式。
18 void tojson(object src, type typeofsrc, jsonwriter writer) 將typeofsrc類型的src的json表示寫入writer。
19 jsonelement tojsontree(object src) 此方法將指定對象序列化為其等效表示形式的jsonelements樹。
20 jsonelement tojsontree(object src, type typeofsrc) 此方法將指定對象(包括泛型類型的對象)序列化為與jsonelements樹等效的表示形式。
21 string tostring()

 

4. 方法繼承

該類繼承以下類中的方法:

  • java.lang.object繼承

1) 范例

使用您選擇的任何編輯器創(chuàng)建以下java程序,并將其保存在c:/> gson_workspace中

文件:gsontester.java

import com.google.gson.gson;
import com.google.gson.gsonbuilder;  
public class gsontester {
   public static void main(string[] args) {
      string jsonstring = "{\"name\":\"mahesh\", \"age\":21}";
      gsonbuilder builder = new gsonbuilder();
      builder.setprettyprinting();
      gson gson = builder.create();
      student student = gson.fromjson(jsonstring, student.class);
      system.out.println(student);    
      jsonstring = gson.tojson(student);
      system.out.println(jsonstring);  
   }
}  
class student {
   private string name;
   private int age;
   public student(){}
   public string getname() {
      return name;
   }
   public void setname(string name) {
      this.name = name;
   }
   public int getage() {
      return age;
   }
   public void setage(int age) {
      this.age = age;
   }
   public string tostring() {
      return "student [ name: "+name+", age: "+ age+ " ]";
   }  
}

2) 驗證結(jié)果

使用 javac 編譯器編譯類如下:

c:\gson_workspace>javac gsontester.java

現(xiàn)在運行g(shù)sontester查看結(jié)果:

c:\gson_workspace>java gsontester

驗證輸出

student [ name: mahesh, age: 21 ]
{
   "name" : "mahesh",
   "age" : 21
}

下一節(jié):gson 對象序列化

gson 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频