鍍金池/ 教程/ Java/ Gson類
Gson開發(fā)環(huán)境設(shè)置
Gson數(shù)據(jù)綁定
Gson序列化內(nèi)部類
Gson數(shù)據(jù)流
Gson簡介
Gson對象數(shù)據(jù)綁定
Gson從序列化中排除字段
Gson版本支持
Gson入門程序
Gson類
Gson自定義類型適配器
Gson對象序列化
Gson空對象支持
Gson教程
Gson樹模型
Gson序列化示例

Gson類

Gson是Google Gson庫的主要操作類。 它提供了將Java對象轉(zhuǎn)換為匹配的JSON結(jié)構(gòu)的功能,反之亦然。 Gson首先使用GsonBuilder構(gòu)建,然后使用toJson(Object)fromJson(String,Class)方法讀取/寫入JSON構(gòu)造。

類聲明

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

public final class Gson 
   extends Object

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

編號 構(gòu)造函數(shù) 說明
1 Gson() 用默認(rèn)配置構(gòu)造一個Gson對象。

類方法

編號 方法 描述
1 <T> T fromJson(JsonElement json, Class<T> classOfT) 此方法將從指定分析樹讀取的Json反序列化為指定類型的對象。
2 <T> T fromJson(JsonElement json, Type typeOfT) 此方法將從指定分析樹讀取的Json反序列化為指定類型的對象。
3 <T> T fromJson(JsonReader reader, Type typeOfT) reader中讀取下一個JSON值并將其轉(zhuǎn)換為typeOfT類型的對象。
4 <T> T fromJson(Reader json, Class<T> classOfT) 此方法將從指定Reader讀取的Json反序列化為指定類的對象。
5 <T> T fromJson(Reader json, Type typeOfT) 此方法將從指定reader讀取的Json反序列化為指定類型的對象。
6 <T> T fromJson(String json, Class<T> classOfT) 此方法將指定的Json反序列化為指定類的對象。
7 <T> T fromJson(String json, Type typeOfT) 此方法將指定的Json反序列化為指定類型的對象。
8 <T> TypeAdapter<T> getAdapter(Class<T> type) 返回type的類型適配器。
9 <T> TypeAdapter<T> getAdapter(TypeToken<T> type) 返回type的類型適配器。
10 <T> TypeAdapter<T> getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken<T> 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() 轉(zhuǎn)化為字符串的形式。

繼承的方法

這個類繼承了以下類的方法 -

  • java.lang.Object

示例

文件:GsonTester.java -

import com.google.gson.Gson; 
import com.google.gson.GsonBuilder;  

public class GsonTester { 
   public static void main(String[] args) { 
      String jsonString = "{\"name\":\"Maxsu\", \"age\":24}"; 

      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+ " ]"; 
   }  
}

執(zhí)行上面示例代碼,得到以下結(jié)果 -

{ 
   "name" : "Maxsu", 
   "age" : 24 
}

上一篇:Gson簡介下一篇:Gson數(shù)據(jù)流