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 
}
廣告

© . All rights reserved.