- Gson 教程
- Gson - 首頁
- Gson - 概述
- Gson - 環境搭建
- Gson - 第一個應用程式
- Gson - 類
- Gson - 物件序列化
- Gson - 資料繫結
- Gson - 物件資料繫結
- Gson - 樹模型
- Gson - 流式處理
- Gson - 序列化示例
- Gson - 序列化內部類
- Gson - 自定義型別介面卡
- Gson - 空物件支援
- Gson - 版本支援
- 從序列化中排除欄位
- Gson 有用資源
- Gson - 快速指南
- Gson - 有用資源
- Gson - 討論
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
示例
使用您選擇的任何編輯器建立以下 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+ " ]";
}
}
驗證結果
使用 javac 編譯器編譯類,如下所示:
C:\GSON_WORKSPACE>javac GsonTester.java
現在執行 GsonTester 以檢視結果:
C:\GSON_WORKSPACE>java GsonTester
驗證輸出
Student [ name: Mahesh, age: 21 ]
{
"name" : "Mahesh",
"age" : 21
}