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”:“老张头”}
多多直播电脑版为主播提供了便捷的拼多多直播带货工具,商家可借此推广商品,提升店铺流量,而达人则能协助商家带货,获取佣金。多多直播电脑版有助于增强客户粘性,提高流量转化效率,支持商品...
央视影音是一款集新闻、综艺、体育、少儿等多类型节目于一体的视频播放软件,它不仅提供丰富的国内央视节目,还涵盖众多地方卫视和特色频道的精彩内容,用户喜欢看什么,一键搜索即可。央视影音...
浩辰CAD 2025是一款功能多样的CAD设计软件,终端数据和模型上云互通,打造全新的云端协同办公体验。该软件在参数化约束技术上取得了显著突破,为企业国产化应用提供了坚实有力的支持。同时,它...
Visual Studio Code是一款操作便捷的代码编辑器,具备强大扩展性,用户可通过丰富的插件库,轻松打造个性化的工作环境。它能够兼容多种编程语言,内置智能代码补全、语法高亮、代码折叠等多项功...
Audacity是一款功能多样的跨平台音频编辑软件,拥有剪切、复制、粘贴、淡入淡出等实用音频编辑工具,还支持降噪、均衡器、压缩等高级音频效果处理功能,全面满足用户的使用需求。同时,Audacity...
Drive SnapShot是一款性能出色的系统备份与恢复工具,集成远程备份、差异备份、还原硬盘等多项功能,并支持定时自动备份。Drive SnapShot无需安装,即开即用,提供中文界面,操作简单便捷,能够...
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表系统之家立场