分类分类
大小:3.93 MB 更新:2025/01/06
类别:其他软件系统:WinAll
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
在Spring MVC中集成Fastjson
如果您使用Spring MVC来构建Web应用程序性能有更高的要求的话,可以使用Fastjson提供的FastJsonHttpMessageConverter来替换Spring MVC默认的HttpMessageConverter 以提高@RestController @ResponseBody @RequestBody注释解的JSON序列化速度。下面是配置方式,非常简单。
XML样式
如果是使用XML的方式配置Spring MVC的话,只需在Spring MVC的XML配置文件中加入以下配置即可。
通常通常配置已经可以满足大部分使用场景,如果你想对它进行自定义配置的话,你可以添加FastJsonConfigBean。
编程式
如果是使用编程的方式(通常是基于Spring Boot项目)配置Spring MVC的话只需继承WebMvcConfigurerAdapter覆写configureMessageConverters方法即可,就像下面这样。
注:如果您使用的Fastjson版本小于1.2.36的话(强烈建议使用最新版本),在与Spring MVC 4.X版本集成时需使用FastJsonHttpMessageConverter4。
注2:SpringBoot 2.0.1版本中加载WebMvcConfigurer的顺序发生了变化,故需使用converters.add(0, converter);指定FastJsonHttpMessageConverter在转换器内部的顺序,否则在SpringBoot 2.0.1及之后的版本中将优先使用Jackson处理。
对JSONP支持
使用注解@ResponseJSONP修饰类或具体方法:
配置JSONPResponseBodyAdvice类:
XML样式
编程式
在Spring Data Redis中集成Fastjson
通常我们在Spring中使用Redis是通过Spring Data Redis提供的RedisTemplate来进行的,如果你准备使用JSON作为对象序列/反序列化的方式串行序列化速度有更高的要求的话,建议使用Fastjson提供的GenericFastJsonRedisSerializer或FastJsonRedisSerializer作为RedisTemplate的RedisSerializer。下面是配置方式,非常简单。
XML样式
如果是使用XML的方式配置Spring Data Redis的话,只需将RedisTemplate中的替换Serializer为GenericFastJsonRedisSerializer即可。
下面是完整的Spring集成Redis配置供参考。
编程式
如果是使用编程的方式(通常是基于Spring Boot项目)配置RedisTemplate的话直接在你的配置类(被@Configuration注解修饰的类)中显式创建RedisTemplateBean,设置Serializer即可。
通常使用GenericFastJsonRedisSerializer即可满足大部分场景,如果你想定义特定类型专用的RedisTemplate可以使用FastJsonRedisSerializer来代替GenericFastJsonRedisSerializer,配置是类似的。
将Fastjson集成到JAX-RS中
Fastjson已实现JAX-RS,您可以在Restfull Service中使用FastJson进行数据序列化和反序列化。
在Apache CXF中使用Fastjson
以Apache CXF Restful和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相同配置java bean的序列化么?
不需要,fastjson的序列化和反序列化都不需要做特别配置,唯一的要求是,你序列化的类符合java bean规范。
8.fastjson如何处理日期
fastjson处理日期的API很简单,例如:
使用ISO-8601日期格式
整体修改日期格式
反序列化能够自动识别如下日期格式:
ISO-8601日期格式
yyyy-MM-dd
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm:ss.SSS
毫米数字
毫米数字弦
.NET JSON日期格式
新日期(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.IE 6不支持JSON带中文字符串,要怎么处理?
fastjson提供了BrowserCompatible这个配置,打开之后,所有的中文都会序列化为\ uXXXX这种格式,字节数会多一些,但是能兼容IE 6。
12.fastjson如何处理超大对象和超大JSON文本
fastjson提供了Stream API,详细看这里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自动识别gzip bytes
修复Throwable继承类属性不支持自动类型转换问题
修复PrettyFormat情况下引用计算不对的问题
修复AutoType不兼容LinkedHashMap的问题
增强对Enum类型的自定类型转换
修复deserializeUsing在泛型某些场景不能正常工作的问题
提升JSONReader性能,减少小对象创建
增强对JSONPath对filter的支持
JSONPath支持忽略NullValue的选项
增强对定制化enum的支持
增强对java.time.Instant和org.joda.time.Instant的支持
修复Parser某些场景不能识别引用的问题
Cygwin 其他软件808 KB2.873 官方版
详情Vbs To Exe 其他软件1.45 MB2.0.6 中文版
详情Visual Studio 2015 Community 其他软件5.8 GB免费版
详情Cygwin x64 其他软件832 KB2.873 官方版
详情sql数据库备份恢复助手 其他软件1.77 MB2.9.1 绿色版
详情Navicat for MySQL 其他软件17.34 MB11.2.15 中文版
详情jEdit 其他软件3.72 MB5.3.0 中文版
详情Aptana Studio 其他软件127.97 MB3.6.1 官方版
详情Navicat for MySQL 其他软件25.06 MB11.2.15 中文版
详情PhpStorm 其他软件154.45 MB10.0.1 官方版
详情Android Killer 其他软件19.87 MB1.3.1 绿色版
详情Wing IDE 其他软件53.01 MB5.1.5 官方版
详情Zend Studio 其他软件290.42 MB12.5.1 中文版
详情ActivePerl 其他软件26.26 MB5.20.2.2002 官方版
详情Free Pascal 其他软件40.01 MB2.6.4 官方版
详情VisualSVN 其他软件4.3 MB5.0.1 官方版
详情wxPython 其他软件14.56 MB3.0.2.0 免费版
详情Wing IDE 101 其他软件50.38 MB5.1.5 官方版
详情Redmine 其他软件3.45 MB3.1.0 免费版
详情CoolFormat 其他软件2.96 MB3.4 免费版
详情点击查看更多
Microsoft Visual Studio 2012 Ultimate 其他软件1.5 GB中文版
详情Microsoft Visual Studio 2013 Ultimate 其他软件5.8 GB中文版
详情Navicat for MySQL 其他软件25.06 MB11.2.15 中文版
详情SQL Server 2012 其他软件3.4 GB简体中文版
详情SQLite Expert Personal x64 其他软件21.1 MB4.0.0 免费版
详情Sublime Text 3 其他软件9.77 MBBuild 3211 官方版
详情Eclipse中文版 其他软件228.66 MB4.5.0 官方版
详情eclipse下载64位 其他软件212.64 MB4.6 官方版
详情PhpStorm 其他软件154.45 MB10.0.1 官方版
详情matlab 其他软件7.5 GB8.5 官方版
详情UltraEdit 其他软件73.98 MB25.10.0.50 中文版
详情Microsoft Visual Studio 2005 其他软件2.54 GB中文版
详情Visual Studio 2015 Community 其他软件5.8 GB免费版
详情Zend Studio 其他软件290.42 MB12.5.1 中文版
详情WinHex 其他软件4.8 MB19.3 中文版
详情Visual C++ 6 其他软件805 MB6.0 安装版
详情三菱PLC编程软件 其他软件227.64 MB8.86 官方版
详情STEP 7 MicroWIN 其他软件316.49 MB4.0.6.35 官方版
详情Unity3D 其他软件1024 MB4.3.4 官方版
详情Sublime Text 3 其他软件10.35 MBBuild 3211 官方版
详情点击查看更多
快乐炸翻天免费版 休闲益智0MBv1.0
详情欢乐拼三张腾讯棋牌2025 休闲益智61.5MBv7.2.0
详情欢乐拼三张新春版2025 休闲益智61.5MBv7.2.0
详情天天炸翻天手机版版本大全 休闲益智61.5MBv7.2.0
详情35273十年棋牌值得信赖 休闲益智61.5MBv7.2.0
详情欢乐拼三张红包版2025 休闲益智61.5MBv7.2.0
详情欢乐拼三张无限钻石版2025 休闲益智61.5MBv7.2.0
详情六合助手资料下载 生活服务0MBv1.0
详情爱玩棋牌2025安卓最新版 休闲益智61.5MBv7.2.0
详情欢乐拼三张原版2025 休闲益智61.5MBv7.2.0
详情欢乐拼三张所有版本2025 休闲益智61.5MBv7.2.0
详情够力奖表旧版免费下载 生活服务0MBv1.0
详情欢乐拼三张腾讯游戏2025 休闲益智61.5MBv7.2.0
详情欢乐拼三张腾讯版2025 休闲益智61.5MBv7.2.0
详情够力七星彩奖表安装 生活服务44MBv3.0.0
详情jj游戏大厅2025 休闲益智61.5MBv7.2.0
详情欢乐拼三张新版本炸金花2025 休闲益智61.5MBv7.2.0
详情欢乐拼三张赢金币2025 休闲益智61.5MBv7.2.0
详情97棋牌2025官方最新版 休闲益智61.5MBv7.2.0
详情宁波游戏大厅手机版2025 休闲益智61.5MBv7.2.0
详情点击查看更多