Gson數據綁定

數據綁定API用於使用屬性訪問器或使用注釋將JSON轉換為POJO(普通舊Java對象)以及從POJO(普通舊Java對象)轉換。 它有兩種類型,分別如下所示 -

  • 原始數據綁定 - 將JSON轉換為Java地圖,列表,字串,數字,布爾值和NULL對象。
  • 對象數據綁定 - 從任何JAVA類型轉換JSON。

Gson為這兩種類型的數據綁定讀/寫JSON。 數據綁定類似於XML的JAXB解析器。

原始數據綁定

基元數據綁定是指將JSON映射到JAVA核心數據類型和內置集合。 Gson提供了各種內置適配器,可用於序列化/反序列化原始數據類型。

示例

讓我們看看原始數據綁定的行動。 這裏將JAVA基本類型直接映射到JSON,反之亦然。參考以下檔代碼: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 = "Maxsu";
      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("\"Maxsu\"", 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));
   }
}

執行上面示例代碼,得到以下結果 -

{
name: "Maxsu",
rollNo: 1,
verified: false,
marks:[100,90,85]
}
name: Maxsu
rollNo: 1
verified: false
marks:[100, 90, 85]

上一篇: Gson對象序列化 下一篇: Gson對象數據綁定