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
}