⑴fastjson是阿里巴巴推出的一款很好的java开源json解析器和生成器。其采用独创的算法,将parse的速度提升到极致,超过目前所有json库,其中包括曾经号称最快的jackson和google的二进制协议protocol buf。同时fastjson功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE .以上版本;支持Android;开源 (Apache .等诸多特性也使得其在业内备受好评。本站提供fastjson免费下载。
⑵fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf
⑶Fastjson完全支持的标准,也是官方网站收录的参考实现之一
⑷支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等
⑸不需要例外额外的jar,能够直接跑在JDK上
⑹fastjson支持JDK 、JDK 、Android、阿里云手机等环境
⑺Apache License .
⑻代码托管在github.上,项目地址是
⑼fastjson有超过个testcase,每次构建都会跑一遍,丰富的测试场景保证了功能稳定
⑽、主要的使用入口
⑾Fastjson API入口类是.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
⒇、有关类库的一些说明
⒈SerializeWriter:相当于StringBuffer
⒉JSONArray:相当于List
⒊JSONObject:相当于Map
⒋JSON反序列化没有真正数组,本质类型都是List
⒌、fastjson 解析json字符串为四种类型
⒍①。 JavaBean
⒎Person person = JSON.parseObject(jsonString, Person.class;
⒏List listPerson =JSON.parseArray(jsonString, Person.class;
⒐List listString = JSON.parseArray(jsonString, String.class;
⒑④。 List》
⒒List》 listMap = JSON.parseObject(jsonString, new TypeReference》》({};
⒓注意:fastjson反射机制比gson更准确, id = 通过fastjson反射仍是 id = , 而通过gson反射结果则为 id =.
⒔关于fastjson的使用讲起来可能比较抽象,小编为大家列举一段简单的测试示例,希望大家喜欢:
⒕测试环境工具:groovy..+jdk..
⒖测试环境:GroovyConsole
⒗首先将FastJson.jar放到groovylib目录中,复制JAVA代码如下:
⒘import .alibaba.fastjson.JSON
⒙import .alibaba.fastjson.JSONObject
⒚class Test {
⒛static main(args{
①String text = ‘{“name”:“老张头”, “age”:}’
②/** 将JSON字符串转换为JSON对象 **/
③JSONObject json = JSON.parseObject(text
④println json.name
⑤/** 将JSON字符串转换为JavaBean对象 **/
⑥User user = JSON.parseObject(text, User.class
⑦println user
⑧/** 将JavaBean对象转换为JSON字符串 **/
⑨String jsonObject = JSON.toJSONString(user;
⑩println jsonObject
Ⅰ/** 将JavaBean对象转换为JSON对象,报错 **/
Ⅱ//JSONObject userJson = (JSONObject JSON.toJSON(user
Ⅲ//println userJson
Ⅳprivate class User {
ⅤString name
ⅥUserdcf
Ⅶ{“age”:,“name”:“老张头”}