fastjson是阿里巴巴推出的一款很好的java开源json解析器和生成器。其采用独创的算法,将parse的速度提升到极致,超过目前所有json库,其中包括曾经号称最快的jackson和google的二进制协议protocol buf。同时fastjson功能强大,完全支持Java Bean、集合、Map、日期、Enum,知识兔支持范型,知识兔支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)等诸多特性也使得其在业内备受好评。知识兔分享fastjson免费下载。
功能特色 1、高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,知识兔包括曾经号称最快的jackson。并且知识兔还超越了google的二进制协议protocol buf 2、支持标准 Fastjson完全支持https://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 操作实例 关于fastjson的使用讲起来可能比较抽象,知识兔小编为大家列举一段简单的测试示例,希望大家喜欢: 测试环境工具:groovy1.8.6+jdk1.6.31 测试环境:GroovyConsole 首先将FastJson.jar放到groovy\lib目录中,复制JAVA代码如下: import com.alibaba.fastjson.JSON import com.alibaba.fastjson.JSONObject class Test { static main(args){ String text = ‘{“name”:“老张头”, “age”:66}’ /** 将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 int age } 输出结果如下: 老张头 User@19dcf69 {“age”:66,“name”:“老张头”} 下载仅供下载体验和测试学习,不得商用和正当使用。 下载体验