Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象。而JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,广泛应用于各种数据的交互中,尤其是服务器与客户端的交互。
- Serialization:序列化,使Java对象到Json字符串的过程。
- Deserialization:反序列化,字符串转换成Java对象。
- JSON数据中的JsonElement有下面这四种类型:
- JsonPrimitive —— 例如一个字符串或整型
- JsonObject—— 一个以 JsonElement 名字(类型为 String)作为索引的集合。也就是说可以把 JsonObject 看作值为 JsonElement 的键值对集合。
- JsonArray—— JsonElement 的集合。注意数组的元素可以是四种类型中的任意一种,或者混合类型都支持。
- JsonNull—— 值为null
Gson中的一些注解
1 @SerializedName注解 -该注解能指定该字段在JSON中对应的字段名称
2 @Expose注解 -该注解能够指定该字段是否能够序列化或者反序列化,默认的是都支持(true)。
需要注意的通过 builder.excludeFieldsWithoutExposeAnnotation()方法是该注解生效。
[@SerializedName -