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] 
廣告
© . All rights reserved.