fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,已经被广泛使用在各种场景,那fastjson有什么用?接下来我们就来给大家讲解一下这方面的内容。
Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。
Fastjson 特性:
提供服务器端、安卓客户端两种解析工具,性能表现较好。
提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。
允许转换预先存在的无法修改的对象(只有class、无源代码)。
Java泛型的广泛支持。
允许对象的自定义表示、允许自定义序列化类。
支持任意复杂对象(具有深厚的继承层次和广泛使用的泛型类型)。
fastjson的性能如何?
fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果看这里:fastjson性能对比 。
自行做性能测试时,关闭循环引用检测的功能。
JSON.toJSONString(obj, SerializerFeature.DisableCircularReferenceDetect)VO vo = JSON.parseObject("...", VO.class, Feature.DisableCircularReferenceDetect)
你可以通过如下地方下载fastjson:
maven中央仓库: http://central.maven.org/maven2/com/alibaba/fastjson/
Sourceforge.net : https://sourceforge.net/projects/fastjson/files/
在maven中如何配置fastjson依赖 fastjson最新版本都会发布到maven中央仓库,你可以直接依赖。
<dependency > <groupId>com.alibaba</groupId> < artifactId > fastjson < /artifactId> < version > 1.2 .21 < /version> < /dependency>
android版本:
<dependency > <groupId>com.alibaba</groupId> < artifactId > fastjson < /artifactId> < version > 1.1 .55.android < /version> < / dependency >
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 finalT parseObject(String text, Classclazz, Feature...features); }
序列化:
String jsonString = JSON.toJSONString(obj);
反序列化:
VO vo = JSON.parseObject("...", VO.class);
泛型反序列化:
import com.alibaba.fastjson.TypeReference; Listlist = JSON.parseObject("...", new TypeReference < list > () {});
推荐阅读: