Fastjson 1.1.3是一个重要的功能增强版本,在这个版本开始,fastjson支持循环引用,完善支持WriteClassName的特性,使得fastjson开始具备替换hessian和java serialize的能力。
支持循环引用。
很多用户在初次使用fastjson时都遇到了循环引用的问题,这是反映最多的问题,我越来越认识到支持循环引用的必要性。经过测试,加入循环应用的支持对性能的影响很小,小于5%。我决定在1.1.3加入循环应用支持,而且是缺省打开这个特性。
fastjson支持的循环应用是自然的,不需要象jackson那样,需要Annotation设置。fastjson支持的引用,是基于path的,方便javascript解析。
语法
{"$ref":"$"} // 引用根对象
{"$ref":"$"} // 引用根对象
{"$ref":"@"} // 引用自己
{"$ref":".."} // 引用父对象
{"$ref":"../.."} // 引用父对象的父对象
{"$ref":"$.members[0].reportTo"} // 基于路径的引用
具体例子看这里:http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=5832796
自省支持
在标准中,将对象序列化为JSON文本之后,就丢失了类型信息。虽然fastjson能够支持parse时传入Class来实现类型的识别,但是这个有局限性,在fastjson 1.1.3之后,完善支持一个特性,就是自省。
具体例子请看这里:http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=5832803
支持非缺省构造函数和工厂方法构造对象
fastjson 1.1.3开始支持没有缺省构造函数的Java对象的反序列化。通过@JSONCreator来标识构造对象的方式。
具体请看这里:
* 非缺省构造函数 http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=5832818
* 工厂方法 http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=5832821
原型接口
以接口的方式来操作json数据,这个特性是借鉴了jackson的功能。
具体例子看这里:http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=5832824
How to get it?
If you're Maven user, just use our maven repository(http://code.alibabatech.com/mvn/releases/) with folloging dependency
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.3</version>
</dependency>
Downlaods
Binary : http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.1.3/fastjson-1.1.3.jar
Source :http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.1.3/fastjson-1.1.3-sources.jar
Subversion : http://code.alibabatech.com/svn/fastjson/trunk/fastjson/
Issue tracking
http://code.alibabatech.com/jira/plugins/servlet/project-config/FASTJSON/versions
* Bug
[FASTJSON-73] - 不支持Set类型数据的反序列
[FASTJSON-77] - JSONSerializerMap存在兼容问题
[FASTJSON-78] - java.util.concurrent.TimeUnit序列化数据不对
* Improvement
[FASTJSON-71] - 使用Base64编码优化byte[]字段的序列化和反序列化性能
[FASTJSON-72] - 使用SoftReference处理ThreadLocalCache
* New Feature
[FASTJSON-74] - 支持序列化时输出类型信息
[FASTJSON-75] - 支持Key类型不是String的Map的序列化和反序列化
[FASTJSON-80] - 原型接口
[FASTJSON-81] - 支持循环引用
分享到:
相关推荐
fastjson的多个版本,fastjson 1.2.2版本、 fastjson 1.2.31版本、fastjson 1.2.47版本、fastjson 1.2.53版本、fastjson 1.2.54版本、fastjson 1.2.62版本、fastjson 1.2.73版本、fastjson 1.2.74版本
fastjson-1.1.35.jar ,fastjson-1.1.36.jar ,fastjson-1.1.37.jar ,fastjson-1.1.44.jar ,fastjson-1.2.3.jar,fastjson-1.2.4.jar
Fastjson曾因某些版本存在安全漏洞而被关注,因此在使用过程中应保持版本更新,及时修复可能的安全风险。此外,避免在不安全的环境中使用`parseObject()`方法,防止恶意输入导致代码执行。 总之,Fastjson作为一款...
fastjson最新版本jar包 fastjson-1.2.14.jar
对于使用Fastjson 1.2.47及之前版本的开发者和管理员,最重要的是尽快升级到最新版本。Fastjson团队已经修复了这些已知的安全问题,因此更新到1.2.47之后的稳定版本是防止攻击的第一步。此外,可以开启Fastjson的...
在标题提到的“高版本的fastjson-1.2.71解决安全漏洞”中,我们主要关注的是Fastjson如何通过更新到1.2.71版本来修复这些已知的安全问题。 Fastjson的安全漏洞通常涉及其自动类型识别机制。这个机制允许JSON字符串...
# Fastjson反序列化漏洞为例 1、此时/tmp目录 ![img]...
本文将深入探讨Fastjson2-2.0.39版本,解析其核心功能与使用技巧。 Fastjson是阿里巴巴的一个高性能的JSON库,它的主要功能包括JSON字符串与Java对象之间的转换,支持多种复杂的JSON操作。Fastjson2-2.0.39是该库的...
Fastjson是阿里巴巴开发的一款高性能的Java语言JSON库,它的全称是Fast Java Object to JSON and JSON to Java Object,...在集成测试和生产环境中,建议使用稳定版,并关注官方发布的更新公告,以便及时进行版本升级。
标题中的"fastjson1.2.2版本.jar"指的是FastJSON库的1.2.2版本的Java Archive(JAR)文件,这是一个包含了FastJSON库所有类和资源的打包文件,方便在Java项目中作为依赖使用。 FastJSON的核心功能在于它能够便捷地...
fastjson 包
**Fastjson 深度解析** ...1.2.47版本的发布,继续增强了这一工具的可靠性和实用性,是开发者处理 JSON 数据的理想选择。在实际项目中,合理运用 Fastjson 的各种特性,能够提高开发效率,优化程序性能。
fastjson 1.2.66 已发布,这又是一个维护版本,修复了一些 BUG,并且做安全加固,补充了 AutoType 黑名单。 Issues 修复某些场景下BeanToArray报错的问题 修复某些场景多版本共存导致的的兼容问题 修复...
在Fastjson-1.2.9版本中,我们主要关注三个核心组件:`fastjson-1.2.9.jar`、`fastjson-1.2.9-javadoc.jar`和`fastjson-1.2.9-sources.jar`。 首先,`fastjson-1.2.9.jar`是Fastjson的核心库文件,包含了所有处理...
《深入解析Fastjson-1.2.4.jar...1.2.4版本的发布,进一步提升了其稳定性和性能,开发者可以根据具体需求选择合适的版本使用。通过阅读源码、使用说明和实践操作,可以更好地理解和掌握Fastjson的精髓,提升开发效率。
fastjson-1.2.4.jar 最新版本
Fastjson的最新版本为`1.1.34.android`,特别针对Android平台进行了优化,提升了在Android设备上的运行效率和兼容性。 【Android】是基于Linux内核的开源移动操作系统,广泛应用于智能手机和平板电脑。Fastjson-1.1...
- `fastJSON.nuspec`是NuGet包规范文件,定义了一个NuGet包的元数据,如作者、版本、依赖项等,用于创建NuGet包发布到NuGet仓库。 - `fastJSON.sln`是Visual Studio解决方案文件,包含了项目的多个组件或子项目。 - ...
2020最新的fastjson.jar,阿里开源的,非常好用,里面有两个版本,分别是1.2.53跟1.2.74两个版本,欢迎大家下载
《FastJsonJar:Java开发中的高效JSON处理库》 FastJsonJar,正如其名,是一个专为Java开发者设计的高效JSON解析和生成工具。在现代Web服务和移动应用开发中,JSON作为数据交换格式,其使用频率之高不言而喻。...