简介
上次我们讲到Google的Gson库,作为国际大公司的阿里巴巴也不敢示弱,出了一款号称速度最快的Fastjson,这里有第三方给出的测试结果https://github.com/eishay/jvm-serializers/wiki, 虽然FastJson在Github上戏称Gson的“G”是“龟速”的意思,但FastJson在文档方面确实做得不如Gson(没办法天朝软件行业的通病)。废话不多说下面先给地址。
下载地址
Maven:http://central.maven.org/maven2/com/alibaba/fastjson/
Sourceforge : https://sourceforge.net/projects/fastjson/files/
Github:
标准版https://github.com/alibaba/fastjson
安卓版https://github.com/alibaba/fastjson/tree/android
Gradle依赖
Fastjson提供了两种版本:标准版本,Android版本,所以添加Gradle依赖也有所不同
关于两个版本的区别可以查看阿里巴巴写的文档
1 | ## 标准版 |
FastJson使用
与Gson的fromJson,toJson类似FastJson也有如下方法
1 | package com.alibaba.fastjson; |
所以序列化的时候也是直接将对象作为toJsonString的参数
序列化
1 | String jsonString = JSON.toJSONString(obj); |
反序列化
1 | Type obj = JSON.parseObject("...", Type.class); |
泛型序列化
1 | import com.alibaba.fastjson.TypeReference; |
定制序列化的key
使用@JSONField注解能够定制JSON字符串生成的key,不仅如此还可以设置其中的serialize/deserialize来定制该字段是否序列化/反序列化
1 |
|
可以说@JSONField 的一个注解融合了Gson的@Expose和@SerializedName两个注解的功能,
示例
JavaBean
1 | public class Group { |