- Gson 教程
- Gson - 首頁
- Gson - 概覽
- Gson - 環境設定
- Gson - 第一個應用程式
- Gson - 類
- Gson - 物件序列化
- Gson - 資料繫結
- Gson - 物件資料繫結
- Gson - 樹模型
- Gson - 流式處理
- Gson - 序列化示例
- Gson - 序列化內部類
- Gson - 自定義型別介面卡
- Gson - Null 物件支援
- Gson - 版本化支援
- 從序列化中排除欄位
- Gson 有用資源
- Gson - 快速指南
- Gson - 有用資源
- Gson - 討論
Gson - 資料繫結
資料繫結 API 用於使用屬性訪問器或註釋將 JSON 轉換為 POJO(普通舊 Java 物件)或從 POJO 轉換回 JSON。它分為兩種型別。
基本型別資料繫結 − 將 JSON 轉換為 Java 對映、列表、字串、數字、布林值和 NULL 物件,或將其從這些內容轉換回 JSON。
物件資料繫結 − 將 JSON 轉換為任何 JAVA 型別,或將其從任何 JAVA 型別轉換回 JSON。
Gson 可讀取/寫入兩種型別的資料繫結的 JSON。資料繫結類似於 XML 的 JAXB 解析器。
基本型別資料繫結
基本型別資料繫結是指將 JSON 對映到 JAVA 核心資料型別和內建集合。Gson 提供了各種內建介面卡,可用於序列化/反序列化基本資料型別。
示例
讓我們看看基本型別資料繫結的實際操作。這裡我們將直接將 JAVA 基本型別對映到 JSON,反之亦然。
在 C:\>Gson_WORKSPACE 建立一個名為 GsonTester 的 Java 類檔案。
檔案 − GsonTester.java
import java.util.Arrays;
import com.google.gson.Gson;
public class GsonTester {
public static void main(String args[]) {
Gson gson = new Gson();
String name = "Mahesh Kumar";
long rollNo = 1;
boolean verified = false;
int[] marks = {100,90,85};
//Serialization
System.out.println("{");
System.out.println("name: " + gson.toJson(name) +",");
System.out.println("rollNo: " + gson.toJson(rollNo) +",");
System.out.println("verified: " + gson.toJson(verified) +",");
System.out.println("marks:" + gson.toJson(marks));
System.out.println("}");
//De-serialization
name = gson.fromJson("\"Mahesh Kumar\"", String.class);
rollNo = gson.fromJson("1", Long.class);
verified = gson.fromJson("false", Boolean.class);
marks = gson.fromJson("[100,90,85]", int[].class);
System.out.println("name: " + name);
System.out.println("rollNo: " + rollNo);
System.out.println("verified: " +verified);
System.out.println("marks:" + Arrays.toString(marks));
}
}
驗證結果
使用 javac 編譯器編譯類,如下所示 −
C:\GSON_WORKSPACE>javac GsonTester.java
現在執行 GsonTester 以檢視結果 −
C:\GSON_WORKSPACE>java GsonTester
驗證輸出。
{
name: "Mahesh Kumar",
rollNo: 1,
verified: false,
marks:[100,90,85]
}
name: Mahesh Kumar
rollNo: 1
verified: false
marks:[100, 90, 85]
廣告