資料系結API用於使用屬性存取器或使用注釋將JSON轉換為POJO(普通舊Java物件)以及從POJO(普通舊Java物件)轉換。 它有兩種型別,分別如下所示 -
NULL
物件。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]