软件介绍
Fastjson是一款非常专业且优秀的Java库,作为阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从字符串反序列化到JavaBean,支持转换功能,可使用该软件将JSON字符换转换为等价的Java对象,Fastjson可以与任意的Java对象一起使用,即使是没有源代码的预先存在的对象也可进行使用,支持通过启动参数和fastjson.properties配置fastjson.auto.discoverable,解决某些场景fastjson与jackson冲突问题,欢迎有需要的用户下载体验
软件功能
在服务器端和安卓客户端提供最好的性能
提供简单的toJSONString()和parseObject()方法,将Java对象转换成JSON,反之亦然。
允许将预先存在的不可修改的对象转换为JSON,或从JSON中转换。
对Java泛型的广泛支持
允许自定义对象的表示方法
支持任意复杂的对象(具有深厚的继承层次和广泛使用的通用类型
软件特色
速度快
fastjson相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。
使用广泛
fastjson在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。在2012年被开源中国评选为最受欢迎的国产开源软件之一。
测试完备
fastjson有非常多的testcase,在1.2.11版本中,testcase超过3321个。每次发布都会进行回归测试,保证质量稳定。
使用简单
fastjson的API十分简洁。
官方教程
编码
输出
解码
Group.java
User.java
在Spring中集成Fastjson
在SpringMVC中集成Fastjson
如果您使用SpringMVC来构建Web应用程序性能有更高的要求的话,可以使用Fastjson提供的FastJsonHttpMessageConverter来替换SpringMVC默认的HttpMessageConverter以提高@RestController@ResponseBody@RequestBody注释解的JSON序列化速度。下面是配置方式,非常简单。
XML样式
如果是使用XML的方式配置SpringMVC的话,只需在SpringMVC的XML配置文件中加入以下配置即可。
通常通常配置已经可以满足大部分使用场景,如果你想对它进行自定义配置的话,你可以添加FastJsonConfigBean。
编程式
如果是使用编程的方式(通常是基于SpringBoot项目)配置SpringMVC的话只需继承WebMvcConfigurerAdapter覆写configureMessageConverters方法即可,就像下面这样。
注:如果您使用的Fastjson版本小于1.2.36的话(强烈建议使用最新版本),在与SpringMVC4.X版本集成时需使用FastJsonHttpMessageConverter4。
注2:SpringBoot2.0.1版本中加载WebMvcConfigurer的顺序发生了变化,故需使用converters.add(0,converter);指定FastJsonHttpMessageConverter在转换器内部的顺序,否则在SpringBoot2.0.1及之后的版本中将优先使用Jackson处理。
对JSONP支持
使用注解@ResponseJSONP修饰类或具体方法:
配置JSONPResponseBodyAdvice类:
XML样式
编程式
在SpringDataRedis中集成Fastjson
通常我们在Spring中使用Redis是通过SpringDataRedis提供的RedisTemplate来进行的,如果你准备使用JSON作为对象序列/反序列化的方式串行序列化速度有更高的要求的话,建议使用Fastjson提供的GenericFastJsonRedisSerializer或FastJsonRedisSerializer作为RedisTemplate的RedisSerializer。下面是配置方式,非常简单。
XML样式
如果是使用XML的方式配置SpringDataRedis的话,只需将RedisTemplate中的替换Serializer为GenericFastJsonRedisSerializer即可。
下面是完整的Spring集成Redis配置供参考。
编程式
如果是使用编程的方式(通常是基于SpringBoot项目)配置RedisTemplate的话直接在你的配置类(被@Configuration注解修饰的类)中显式创建RedisTemplateBean,设置Serializer即可。
通常使用GenericFastJsonRedisSerializer即可满足大部分场景,如果你想定义特定类型专用的RedisTemplate可以使用FastJsonRedisSerializer来代替GenericFastJsonRedisSerializer,配置是类似的。
将Fastjson集成到JAX-RS中
Fastjson已实现JAX-RS,您可以在RestfullService中使用FastJson进行数据序列化和反序列化。
在ApacheCXF中使用Fastjson
以ApacheCXFRestful和Spring框架为例
在泽西岛使用Fastjson
自版本1.2.37起的用户注册码(推荐)
注意:当您不必在Jersey进行用户注册时,Fastjson还提供了自动注册,默认情况下已启用,如果您不希望这样做,则可以
在RestEasy中使用Fastjson
在pom.xml中启用RestEasy自动扫描,如下所示:
或禁用自动扫描,例如在您的web.xml中:
常见问题
1.怎么获得fastjson?
你可以通过如下地方下载fastjson:
maven中央仓库:http://central.maven.org/maven2/com/alibaba/fastjson/
Sourceforge.net:https://sourceforge.net/projects/fastjson/files/
在maven中如何配置fastjson依赖fastjson最新版本都会发布到maven中央仓库,你可以直接依赖。
android版本
2.fastjson主要的API是什么?
fastjson入口类是com.alibaba.fastjson.JSON,主要的API是JSON.toJSONString,和parseObject。
序列化:
反序列化:
泛型反序列化:
3.哪里找fastjson的使用例子
fastjson的使用示例看这里:https://github.com/alibaba/fastjson/wiki/Samples-DataBind
4.fastjson的性能如何?
fastjson是当前java语言中速的json库,比自称加速的jackson速度要快,第三方独立测试结果看这里:https://github.com/eishay/jvm-serializers/wiki
自行做性能测试时,关闭循环引用检测的功能。
5.fastjson性能比gson怎样?
fastjson比gson快大约6倍,测试结果上这里:https://github.com/eishay/jvm-serializers/wiki/Staging-Results。
6.fastjson可以运行在android上么?
fastjson有专门针对android版本,去掉不常用功能。jar占的字节数更小。gitbranch地址是:https://github.com/alibaba/fastjson/tree/android。
7.fastjson序列化的需要像json-lib相同配置javabean的序列化么?
不需要,fastjson的序列化和反序列化都不需要做特别配置,唯一的要求是,你序列化的类符合javabean规范。
8.fastjson如何处理日期
fastjson处理日期的API很简单,例如:
使用ISO-8601日期格式
整体修改日期格式
反序列化能够自动识别如下日期格式:
ISO-8601日期格式
yyyy-MM-dd
yyyy-MM-ddHH:mm:ss
yyyy-MM-ddHH:mm:ss.SSS
毫米数字
毫米数字弦
.NETJSON日期格式
新日期(198293238)
9.如何定制序列化?
您可以使用SimplePrePropertyFilter过滤细分,详细看这里:https://github.com/alibaba/fastjson/wiki/%E4%BD%BF%E7%94%A8SimplePropertyPreFilter%E8%BF%87%E6%BB%A4%E5%B1%9E%E6%80%A7
关于定制序列化,详细的介绍看这里:https://github.com/alibaba/fastjson/wiki/%E5%AE%9A%E5%88%B6%E5%BA%8F%E5%88%97%E5%8C%96
10.当对象存在引用时,序列化后的结果浏览器不支持,怎么办?
使用SerializerFeature.DisableCircularReferenceDetect特性关闭引用检测和生成。例如:
11.IE6不支持JSON带中文字符串,要怎么处理?
fastjson提供了BrowserCompatible这个配置,打开之后,所有的中文都会序列化为\uXXXX这种格式,字节数会多一些,但是能兼容IE6。
12.fastjson如何处理超大对象和超大JSON文本
fastjson提供了StreamAPI,详细看这里https://github.com/alibaba/fastjson/wiki/Stream-api
13.使用@JSONField定制序列化
fastjson提供了使用注释定制序列化和反序列化的功能。https://github.com/alibaba/fastjson/wiki/JSONField
14.将对象中的空值输出
出现情况下fastjson不输出对象的空值的,如果你需要输出空值,看这里https://github.com/alibaba/fastjson/wiki/WriteNull_cn
15.返回整数javascript丢失精度问题
当返回的整数大于9007199254740991或小于-9007199254740991时,在javascript中会丢失精度。此时使用SerializerFeature.BrowserCompatible能自动将数值转换为字符串返回,解决精度问题。
更新日志
修复一些直接抛RuntimeException的问题
parser自动识别gzipbytes
修复Throwable继承类属性不支持自动类型转换问题
修复PrettyFormat情况下引用计算不对的问题
修复AutoType不兼容LinkedHashMap的问题
增强对Enum类型的自定类型转换
修复deserializeUsing在泛型某些场景不能正常工作的问题
提升JSONReader性能,减少小对象创建
增强对JSONPath对filter的支持
JSONPath支持忽略NullValue的选项
增强对定制化enum的支持
增强对java.time.Instant和org.joda.time.Instant的支持
修复Parser某些场景不能识别引用的问题
Tags:Fastjson下载,Fastjson,Java库
小编点评:现在有不少超级便宜的U盘或者SD卡,
下载小编点评:软件介绍JCreator是一个Java程序开.
下载小编点评:软件介绍BWMP3OCX是一个MP3播.
下载小编点评:软件介绍LonsoftDiskSeri.
下载小编点评:软件介绍Fastjson是一款非常.
下载小编点评:软件介绍简单游绿色梦幻游戏工具平台,
下载小编点评:软件介绍《梦幻群侠传之龙在天涯》是梦幻西.
下载小编点评:软件介绍《不义联盟:人间之神》是漫画游戏故.
下载小编点评:软件介绍超级玛丽是很多红白机时代玩家心.
下载小编点评:软件介绍《唐老鸭历险记》根据迪士尼.
下载小编点评:夜游记手游是一款休闲闯关类型的游戏。你需要利用手.
下载小编点评:美少女魔法美妆游戏破解版是一款以美.
下载小编点评:疯狂猎鸟安卓版是一款好经典休闲爱的捕鸟.
下载蜗牛骑士游戏下载-蜗牛骑士游戏手机版下载v1.0.3 安卓版
禅意立方正版游戏下载-禅意立方游戏下载v1.0 安卓最新版
99弹破解版下载-99弹内购破解版下载v2.2 安卓版
1010游戏破解版下载-1010方块中文版破解版下载v58 安卓全皮肤版
小巫婆魔法改造官方版下载-小巫婆魔法改造手游下载v3.0.4 安卓最新版
九游一起来飞车手游下载-一起来飞车九游版下载v2.4.1 安卓版
抓住星星手机版下载-抓住星星游戏下载v1.0 安卓版
谜题大陆37官方版下载-谜题大陆37手游下载v6.0.48 安卓版
街头摩托骑手手游下载-街头摩托骑手官方版下载v1.4.3 安卓版
死亡传说中文版下载-死亡传说汉化版下载v1.64 安卓版
expert raw官方下载-expert raw相机软件下载v3.0.03.13 安卓最新版
画画图手机版免费下载-画画图app最新版下载v1.2.9 安卓官方版
凯蒂猫英雄下载-凯蒂猫英雄游戏下载v0.9 安卓版