收藏259
分享
阅读14999
更新时间2022-04-19
你可以通过如下地方下载fastjson:
com.alibaba fastjson 1.2.21
android版本
com.alibaba fastjson 1.1.55.android
fastjson入口类是com.alibaba.fastjson.JSON,主要的API是JSON.toJSONString,和parseObject。
package com.alibaba.fastjson;
public abstract class JSON {
public static final String toJSONString(Object object);
public static final T parseObject(String text, Class clazz, Feature... features);
} 序列化:
String jsonString = JSON.toJSONString(obj);
反序列化:
VO vo = JSON.parseObject("...", VO.class);泛型反序列化:
import com.alibaba.fastjson.TypeReference;Listlist = JSON.parseObject("...", new TypeReference >() {});
fastjson的使用例子看这里:Samples-DataBind
fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果看这里:fastjson性能对比 。
自行做性能测试时,关闭循环引用检测的功能。
JSON.toJSONString(obj, SerializerFeature.DisableCircularReferenceDetect)VO vo = JSON.parseObject("...", VO.class, Feature.DisableCircularReferenceDetect)这里有jackson作者cowtowncoder等人对fastjson的性能评价:https://groups.google.com/forum/#!topic/java-serialization-benchmarking/8eS1KOquAhw
fastjson比gson快大约6倍,测试结果上这里:性能测试对比。gson的g可能是“龟”拼音的缩写,龟速的json库。
fastjson有专门的for android版本,去掉不常用的功能。jar占的字节数更小。git branch地址是:https://github.com/alibaba/fastjson/tree/android 。
不需要,fastjson的序列化和反序列化都不需要做特别配置,唯一的要求是,你序列化的类符合java bean规范。
fastjson处理日期的API很简单,例如:
JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS")
使用ISO-8601日期格式
JSON.toJSONString(obj, SerializerFeature.UseISO8601DateFormat);
全局修改日期格式
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);
反序列化能够自动识别如下日期格式:
你可以使用SimplePrePropertyFilter过滤字段,详细看这里:https://github.com/alibaba/fastjson/wiki/%E4%BD%BF%E7%94%A8SimplePropertyPreFilter%E8%BF%87%E6%BB%A4%E5%B1%9E%E6%80%A7
关于定制序列化,详细的介绍看这里:Fastjson定制系列化
使用SerializerFeature.DisableCircularReferenceDetect特性关闭引用检测和生成。例如:
String jsonString = JSON.toJSONString(obj, SerializerFeature.DisableCircularReferenceDetect);
fastjson提供了BrowserCompatible这个配置,打开之后,所有的中文都会序列化为\uXXXX这种格式,字节数会多一些,但是能兼容IE 6。
String jsonString = JSON.toJSONString(obj, SerializerFeature.BrowserCompatible);
fastjson提供了Stream API,详细看这里Fastjson Stream api
fastjson提供了使用Annotation定制序列化和反序列化的功能。Fastjson JSONField
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
71万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习