Gson類
Gson是Google Gson庫的主要操作類。 它提供了將Java對象轉換爲匹配的JSON結構的功能,反之亦然。 Gson首先使用GsonBuilder構建,然後使用toJson(Object)或fromJson(String,Class)方法讀取/寫入JSON構造。
類聲明
以下是com.google.gson.Gson類的聲明 -
public final class Gson
extends Object
構造函數
編號
構造函數
說明
1
Gson()
用默認配置構造一個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值並將其轉換爲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樹轉換爲其等效的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()
轉化爲字符串的形式。
繼承的方法
這個類繼承了以下類的方法 -
-
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+ " ]";
}
}
執行上面示例代碼,得到以下結果 -
{
"name" : "Maxsu",
"age" : 24
}