fastjson 2.0.5发布
1. FASTJSON 2.0介绍
FASTJSON 2.0是FASTJSON项目的重要升级,目标是为下一个十年提供一个高性能的JSON库,同一套API支持JSON/JSONB两种协议,JSONPath是一等公民,支持全量解析和部分解析,支持Java服务端、客户端Android、大数据场景。
- FASJTONS2项目地址 https://github.com/alibaba/fastjson2
- 使用介绍 https://alibaba.github.io/fastjson2/
- FASTJSON 2性能有了很大提升,具体性能数据看这里 https://alibaba.github.io/fastjson2/benchmark_cn
- FASTJSON 2的AutoType没有内置白名单,更安全 https://alibaba.github.io/fastjson2/autotype_cn
- 支持JSONSchema https://alibaba.github.io/fastjson2/json_schema_cn
- 支持JDK14 Record
- 支持GraalVM Native-Image
2. FASTJSON 2.0.5版本 介绍
经过众多勇敢热心同学的验证,2.0.5已经具备生产可用的能力,但由于是初期版本,使用到生产还需要仔细观察验证,如果遇到问题反馈提issue到 https://github.com/alibaba/fastjson2/issues 。
2.0.5的兼容性也有很大改善,如果不想改代码的同学,可以尝试直接使用2.0.5的兼容包升级。
- 修复JSONB不打开fieldBase时,反序列化java.util.Arrays$ArrayList报错的问题 #341
- 修复字符串在不匹配字段存在'\uxxxx'字符报错的问题 #371
- 增加对fastjson 1.x Feature.OrderedField的兼容 #334
- 修复LocalDate使用dateFormat'yyyy-MM-dd HH:mm:ss'报错的问题 #363
- 增加对JSONReader.Feature和JSONWriter.Feature的全局配置 #361
- 修复从1.x升级到2.x不能识别'org.springframework.security.core.GrantedAuthority'的问题 #354
- 增加BeforeFilter/AfterFilter,兼容1.x API #359
- 增加JSONReader.Feature TrimString,支持反序列化对输入的String做trim处理 #353
- 修复配置ValueFilter在返回类型和输入类型不匹配时报错的问题 #351
- 修复2.0.2后错误判断导致ASM JIT不起作用的问题 #352
- 修复Android 9下报No virtual method keySet错误的问题 #350
- 修复配置Filter并且存在Map类型空置报错的问题 #347
- 修复toJSONString方法缺失导致rocketmq升级2.x版本后报错无法启动的问题 #344
- 修复JSONArray缺失parseArray导致升级不兼容的问题
- 修复对1.xSwaggerJsonSerializer和ObjectSerializer/ObjectDeserializer的支持 #324
- 修复在sofaboot中升级1.x到2.x不兼容的问题 #332
- 修复JSONObject.getObject方法传入数据类型报错的问题 #326
- 修复JSONArray.toList方法不支持简单类型的问题 #316 #296
- 修复对File类序列化不内置支持的问题 #312
- 修复JSONField配置JSONWriter.Feature.WriteEnumsUsingName 不起作用的问题 #314
- 修复JSONWriter.Feature.ReferenceDetection在序列化List字段不起作用的问题 #304
- 修复错误输入字符串不报错的问题 #235
- 其他对fastjson 1.x的兼容问题
2.1 定制序列化介绍
FASTJSON2支持完善的定制序列化反序列化功能
- Feature介绍 https://alibaba.github.io/fastjson2/features_cn
- Annotation介绍 https://alibaba.github.io/fastjson2/annotations_cn
- 使用Mixin注入Anntation定制序列化和反序列化 https://alibaba.github.io/fastjson2/mixin_cn
- 实现ObjectWriter和ObjectReader实现定制序列化和反序列化 https://alibaba.github.io/fastjson2/register_custom_reader_writer_cn
3. MAVEN依赖配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.5</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.5.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.5.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.5</version>
</dependency>
相关链接
- 相关issue 15个 https://github.com/alibaba/fastjson2/milestone/4
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.5
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.5/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.5.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.5.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.5/