Fastjson最新版是一款非常受欢迎的Java库软件。Fastjson官方版提供简单的toJSONString()和parseObject()方法,将Java对象转换成JSON,反之亦然。Fastjson最新版允许自定义对象的表示方法,允许将预先存在的不可修改的对象转换为JSON,或从JSON中转换。
软件基础简介
Fastjson最新版是一个十分优秀的Java库。Fastjson最新版可用于将Java对象转换成其JSON表示,它还可以用来将JSON字符串转换为等价的Java对象,Fastjson可以处理任意的Java对象,包括你没有源代码的预先存在的对象。
软件特性
Fastjson最新版的目标
在服务器端和安卓客户端提供最好的性能
提供简单的toJSONString()和parseObject()方法,将Java对象转换成JSON,反之亦然。
允许将预先存在的不可修改的对象转换为JSON,或从JSON中转换。
对Java泛型的广泛支持
允许自定义对象的表示方法
支持任意复杂的对象(具有深厚的继承层次和广泛使用的通用类型
软件优点
1、高性能
fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf
2、支持标准
Fastjson完全支持http://json.org的标准,也是官方网站收录的参考实现之一
3、功能强大
支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等
支持循环引用
4、无依赖
不需要例外额外的jar,能够直接跑在JDK上
5、支持范围广
fastjson支持JDK 5、JDK 6、Android、阿里云手机等环境
6、开源
Apache License 2.0
代码托管在github.org上,项目地址是https://github.com/AlibabaTech/fastjson
7、测试充分
fastjson有超过1500个testcase,每次构建都会跑一遍,丰富的测试场景保证了功能稳定
安装步骤
1、主要的使用入口
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成,如下所示:
public static final Object parse(String text);//把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text);//把JSON文本parse成JSONObject
public static final T parseObject(String text,Class clazz);//把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text);//把JSON文本parse成JSONArray
public static final List parseArray(String text,Class clazz);//把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object);//将JavaBean序列化为JSON文本
public static final String toJSONString(Object object,boolean prettyFormat);//将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject);将JavaBean转换为JSONObject或者JSONArray
2、有关类库的一些说明
SerializeWriter:相当于StringBuffer
JSONArray:相当于List
JSONObject:相当于Map
JSON反序列化没有真正数组,本质类型都是List
3、fastjson解析json字符串为四种类型
①。JavaBean
Person person=JSON.parseObject(jsonString,Person.class);
②。List
List listPerson=JSON.parseArray(jsonString,Person.class);
③。List
List listString=JSON.parseArray(jsonString,String.class);
④。List》
List》listMap=JSON.parseObject(jsonString,new TypeReference》》(){});
注意:fastjson反射机制比gson更准确,id=1001通过fastjson反射仍是id=1001,而通过gson反射结果则为id=1001.0