色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

gson轉json 原理

阮建安2年前7瀏覽0評論

gson是一種用于將Java對象序列化為JSON格式字符串的Java庫。它支持任何Java對象,包括嵌套對象和集合,并且可以將JSON字符串反序列化為Java對象。gson的核心API包括JsonParser和JsonSerializer。

JsonParser parser = new JsonParser();
JsonObject object = parser.parse(json).getAsJsonObject();

JsonParser是gson庫中的主要類之一,它提供了一種將JSON字符串解析為JsonElement的簡單方法。JsonElement是gson庫中的根元素,可以是一個JsonArray、JsonObject、JsonNull或JsonPrimitive。通過JsonParser.parse()方法,我們可以將JSON字符串解析為JsonElement。例如:

JsonPrimitive primitive = new JsonPrimitive(10);
String str = primitive.toString(); // 10

JsonSerializer是gson庫中的另一個關鍵類,它被用于將Java對象序列化為JSON格式。在序列化過程中,gson將Java對象轉換為JsonElement,并使用JsonElement的toString()方法將其轉換為JSON格式字符串。

JsonSerializer<Date> serializer = new JsonSerializer<Date>() {
public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) {
return new JsonPrimitive(src.getTime());
}
};
Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, serializer).create();
String json = gson.toJson(new Date()); // 1607014283000

在這個例子中,我們創建了一個JsonSerializer來序列化Date對象。我們將Date對象轉換為其對應的毫秒數,并將其封裝在一個JsonPrimitive中。我們然后使用GsonBuilder注冊這個JsonSerializer,并創建一個Gson對象。最后,我們使用Gson.toJson()方法將Date對象轉換為JSON格式字符串。