阿里巴巴FastJson- https://github.com/alibaba/fastjson
Google Gson .
> 数据协议 Json/xml/protobuf
-- 对于App网络传输协议,我们比较常见的、可选的,有三种,分别是json/xml/protobuf,老规矩,我们先分别来看看这三种格式的优缺点:
优点:
1.json优点就是较XML格式更加小巧,传输效率较xml提高了很多,可读性还不错。
2.xml优点就是可读性强,解析方便。
3.protobuf优点就是传输效率快(据说在数据量大的时候,传输效率比xml和json快10-20倍),序列化后体积相比Json和XML很小,支持跨平台多语言,消息格式升级和兼容性还不错,序列化反序列化速度很快。
缺点:
1.json缺点就是传输效率也不是特别高(比xml快,但比protobuf要慢很多)。
2.xml缺点就是效率不高,资源消耗过大。
3.protobuf缺点就是使用不太方便。
> JSONObject组拼Json数据格式:
try {
JSONObject jobj = new JSONObject();
jobj.put("musicType", "local_music");
jobj.put("musicSong", "song_id_22233");
Log.e("desaco", "pinjieJson jobj=" + jobj.toString());
} catch (Exception ex) {
Log.e("desaco", "pinjieJson Exception");
}
{"musicType":"local_music","musicSong":"song_id_22233"}
> JSON 容错- https://mp.weixin.qq.com/s/EIEHValrjZhjcaKRYjKxHw
"JSON 是一种具有自描述的、独立于语言的、轻量级文本数据交换格式,经常被用于数据的存储和传输。而 GSON 可以帮我们快速的将 JSON 数据,在对象之间序列化和反序列化。"
1.GSON 可以提供了 toJson() 和 fromJson() 两个简便的方法序列化和反序列化 JSON 数据。
2.通过注解 @SerializedName 可以解决解析字段不一致的问题以及多字段的问题。
3.通过注解 @Expose 可以解决字段在序列化和反序列化时,字段排除的问题。
4.GsonBuilder 提供了一些便捷的 API,方便我们解析数据,例如
5.更灵活的解析,使用 TypeAdapter,可以精准定制序列化和反序列化的全过程。