Releases: alibaba/fastjson2
fastjson 2.0.13发布,Bug修复进一步提升性能
又是一个BUG修复提升性能的版本,这次距离上次发布3周,随着越来越稳定,发布周期间隔会逐步拉长到1个月以上。
2.0.13版本的性能有进一步提升,反序列化性能比2.0.12版本提升了6%,对fastjson 1.x也有了进一步提升。
详细性能测试报告看这里: https://github.com/alibaba/fastjson2/wiki/fastjson_benchmark
Issues
- 支持通过Feature配置将byte[]序列化为base64字符串 #702
- 支持自动识别并过滤thrift对象的isSetXXX方法 #707
- 修复List类型字段反序列化不支持输入null的问题 #732
- 增强对接口类型反序列化的支持 #698
- 提供通过配置JSONType.alphabetic = true支持不排序序列化 #279 #713
- 增强对首字母大写的setter方法输入字段名首字母小写格式的支持,提升对fastjson 1.x的兼容 #546 #607 #743
- 修复JSONObject.getObject对输入参数为List.class结果不对的问题 #541
- 修复某些场景enum序列化mixin不起作用的问题 #703
- 修复JSONPath.arrayAdd方法当path不存在时不自动创建的问题 #708
- 修复JSON. parseArray处理非法JSON格式某些场景会OOM的问题 #709
- 修复某些场景处理非法JSON不报错的问题 #711
- 修复序列化会忽略Boolean isXXX方法的问题 #673
- 修复识别jackson JsonIgnore(value=false)处理结果不对的问题 #716
- 修复android下未引入kotlin-reflect会报错的问题 #715 #736
- 修复JSONPath.contains不能识别null值的问题 #643
- JSON.toJSONString方法支持传入JSONWriter.Context参数 #719
- 修复enum类型不能正确识别jackson JsonCreator的问题 #725
- 修复某些场景JSONObject.toJavaObject报错的问题 #728
- 修复输入时间格式错误报错不准确的问题 #727
- 修复 @jsontype(writeEnumAsJavaBean = true) 序列化枚举结果不对的问题 #730
- 增加 JSONWrieter.Feature.IgnoreNonFieldGetter ,兼容fastjson 1.x SerializerFeature.IgnoreNonFieldGetter #733
- 增强JSONPath对过滤表达式的支持 #742
- 修复某些场景下JSONB 序列化长字符串报数组越界的问题 #744
- 新增加了JSONReader#hasComma方法 #747
MAVEN依赖配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.13</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.13.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.13.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.13</version>
</dependency>
相关链接
- 相关issue 28个 https://github.com/alibaba/fastjson2/milestone/12
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.13
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.13/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.13.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.13.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.13/
fastjson 2.0.12发布,Bug修复提升性能
2.0.12版本的性能有进一步提升,反序列化性能比2.0.11版本提升了超过10%。
详细性能测试报告看这里: https://github.com/alibaba/fastjson2/wiki/fastjson_benchmark
Issues
- 修复序列化中文速度不如fastjson1的问题 #609
- 支持汉字序列化成ISO-8859-1格式 #678
- 序列化和反序列化支持StringBuilder和StringBuffer类型 #687
- 序列化支持Oracle CLOB类型 #644
- 修复兼容包在某些场景无法正确初始化的问题 #649 #677 #646
- ObjectWriterBaseModule和ObjectReaderBaseModule修改为public方便自定义扩展 #585
- 修复特定场景下解析错误格式死循环内存溢出的问题 #699
- 修复兼容包toJavaList传入相同类型时报错的问题 #699
- 提供JSON.copy方法,可以基于jsonb协议深度拷贝对象 #668
- 修复jsonb协议序列化Key为null时报错的问题 #697
- JSONSchema校验时提供错误信息,提示哪个字段因为什么原因校验不通过 #684
- 修复Object类型字段并发初始化时存在报错的问题 #661
- 支持全小写的PropertyNamingStrategy #695
MAVEN依赖配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.12</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.12.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.12.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.12</version>
</dependency>
相关链接
- 相关issue 16个 https://github.com/alibaba/fastjson2/milestone/11
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.12
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.12/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.12.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.12.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.12/
fastjson 2.0.11发布,Bug修复提升性能
这个版本进一步提升了将JSON parse为JSONObject性能,提升Float/Double类型的反序列化性能。
Issues
- 修复LocalTime & LocalDateTime 类型配置JSONField.format 不生效的问题 #604 #591
- 修复首字母大写getter/setter方法在field上的JSONField Annotation不起作用的问题 #638
- 支持JDK 9的java.util.ImmutableCollections类型的序列化和反序列化 #640
- 修复apache commons3 Pair序列化格式和fastjson 1.x不兼容的问题 #608
- 修复Map类型输入null报错的问题 #605
- 修复某些场景序列化比fastjson1慢的问题 #609
- prettyFormat场景序列化none-String Key Map格式不正确问题 #582
- 提升BigDecimal/Float/Double类型的反序列化性能 #602
- 修复自定义ObjectReader的deserialze方法参数type传入空值的问题 #594
- 支持Field/Method类型方法的序列化和反序列化 #597
- 修复lombok boolean类型使用is前缀字段名fieldBased场景会多出属性的问题 #599
- 修复Kotlin下某些场景会忽略Boolean类型属性的问题 #587
- 修复JDK 9 JPMS启用时报错的问题 #581
- 提升将JSON parse为JSONObject性能 #580
MAVEN依赖配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.11</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.11.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.11.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.11</version>
</dependency>
相关链接
- 相关issue 25个 https://github.com/alibaba/fastjson2/milestone/10
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.11
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.11/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.11.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.11.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.11/
fastjson 2.0.10发布,修复BUG增强兼容性
这又是一个修复BUG提升兼容性的版本
Issues
- 提升BeanToArray打开时的序列化性能
- 修复prettyFormat场景序列化和反序列化none-String Key Map报错的问题
- 修复List类型处理空置会导致内存溢出的问题 #573
- 修复Record类型序列化结果不对的问题 #559
- 修复TypeUtils对char转换为string结果不对的问题 #564
- JSONPath.eval方法支持String输入 #553
- 不再对只Iterable的类当做Collection处理 #554
- 修复输入的结果带有Set[时某些场景结果不对的问题 #555
- 修复Date类型接受空字符串结果不对的问题 #550
- 修复isXx和getXx方法同时存在时,序列化具备随机性的问题 #549
- ObjectReaderImplMap支持none-public Map #557
MAVEN依赖配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.10</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.10.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.10.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.10</version>
</dependency>
相关链接
- 相关issue 25个 https://github.com/alibaba/fastjson2/milestone/9
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.10
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.10/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.10.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.10.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.10/
fastjson 2.0.9发布,修复BUG增强兼容性
这又是一个修复BUG提升兼容性的版本。
1. Issues
- 修复BigDecimal类型在某些情况下结果不对的问题 #540
- 修复List字段在某些场景报错的问题 #539
- JSONB格式序列化byte数组类型在某些场景报错的问题 #537
- 修复JSONObject.getObject输入List.class在某些场景报错的问题 #536
- 提升JSONPath的语法兼容性 #532
- 修复某些场景不能反序列化非静态嵌套类的问题 #531
- 修复某些场景List类型输入NULL会死循环的问题 #528 #525
- 反序列化ObjectReader接口readObject方法增加参数fieldType和fieldName,和fastjson 1.x兼容 #527
- 修复某些场景JSONPath会报错的问题 #524
- 修复多个set方法优先级的问题 #523
- 修复兼容包android兼容的问题 #520 #511
- 修复JSONObject.containsKey在none-string key结果不对的问题 #518
- 修复对IBM J9 JDK 8.0支持的问题 #516
- 修复对fastjson 1.x Set语法兼容的问题 #513
- 修复graal native image支持的问题 #509
- 修复WriteClassName特性对HashMap的支持问题 #507
- 修复字段类型为JSONArray时反序列化报错的问题 #502
- 增强对不加引号字段的支持 #478
- 修复对java.util.Vector类型字段支持的问题 #517
- 自定义序列化支持LocalDate/LocalTime/LocalDateTime
2. MAVEN依赖配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.9</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.9.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.9.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.9</version>
</dependency>
相关链接
- 相关issue 25个 https://github.com/alibaba/fastjson2/milestone/8
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.9
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.9/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.9.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.9.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.9/
fastjson 2.0.8发布
1. FASTJSON 2.0介绍
FASTJSON v2
是FASTJSON
项目的重要升级,目标是为下一个十年提供一个高性能的JSON
库。通过同一套API
,
- 支持
JSON/JSONB
两种协议,JSONPath
是一等公民。 - 支持全量解析和部分解析。
- 支持
Java
服务端、客户端Android
、大数据场景。 - 支持
Kotlin
https://alibaba.github.io/fastjson2/kotlin_cn - 支持
JSON Schema
https://alibaba.github.io/fastjson2/json_schema_cn - 支持
Android 8+
(2.0.8.android) - 支持
Graal Native-Image
(2.0.8.graal)
2. FASTJSON 2.0.8版本 介绍
经过很多用户在生产环境验证,2.0.8完全生产可用。对fastjson 1.x也有很好的兼容性,如果不想改代码的同学,可以尝试直接使用2.0.8的兼容包升级,兼容包是计划长期维护的,如果发现问题提issue反馈。
Issues
- 修改LocalDateTime的缺省序列化格式为"yyyy-MM-dd HH:mm:ss",LocalDate的缺省序列化格式为"yyyy-MM-dd",LocalTime的缺省序列化格式为"HH:mm:ss",没有特定需求时,不需要做配置定制序列化。 #463 #459
- Date对象反序列化支持输入空字符串识别为null #467 #504 #493
- 修复某些场景日期类型配置JSONField.format无效的问题 #468 #495
- 兼容包支持ParserConfig配置propertyNamingStrategy #505
- 修复TypeReference传入参数无法正确解析的问题 #501 #474
- 修复BigDecimal类型反序列化输入科学计数法数值结果不对的问题 #492
- 兼容包支持Feature. UseNativeJavaObject #488
- 修复JSONPath在多层嵌套读取结果不对的问题 #487
- 修复兼容包JSON.parseObject不支持输入空置的问题 #482
- 修复mongo GeoJsonPoint类型的支持 bug #483
- 修复JSONPath设置多层节点不存在时不生效的问题 #476
- JSONArray保留toJSONString方法,方便升级,提升兼容性
- JSON.parseObject方法支持InputStream和Reader输入 #103
- 修复JSONPath对"$"结果返回不对的问题
- 修复JSONWriter.Feature.IgnoreNoneSerializable对rootObject不生效的问题 #477
- 新增支持ContextNameFilter/ContextValueFilter #484
- 修复对象数组类型字段反序列化报错的问题 #464
- 修复PropertyFilter导致输出Null的问题 #471
3. MAVEN依赖配置
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.8</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.8.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.8.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.8</version>
</dependency>
相关链接
- 相关issue 25个 https://github.com/alibaba/fastjson2/milestone/7
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.8
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.8/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.8.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.8.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.8/
fastjson 2.0.7发布,修复BUG提升兼容性
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://github.com/alibaba/fastjson2/wiki/benchmark_2.0.7_aarch64
- 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.7版本 介绍
经过很多用户在生产环境验证,2.0.7已经具备生产可用的能力,但由于是初期版本,使用到生产还需要仔细观察验证,如果遇到问题反馈提issue到 https://github.com/alibaba/fastjson2/issues 。
2.0.7继续提升的兼容性,如果不想改代码的同学,可以尝试直接使用2.0.7的兼容包升级,兼容包是计划长期维护的,如果发现问题提issue反馈。
Issues
- 修复了部分场景JSON.isValid方法在某些场景不能识别非法JSON格式的问题 #410
- 修复JSONPath.set在已有值存在时缺省采用DuplicateKeyValueAsArray行为的问题 #431
- 修复JSONPath.set在父层次对象不存在时结果不对的问题 #424
- 提升了fastjson 1.x的兼容性 #432
- 修复了filter导致WriteClassName失效的问题 #411
- 修复了不能LocalDate/LocalTime不能智能匹配日期格式的问题 #LocalDate #356 #416 #425
- 优化常见日期类型的序列化和反序列化性能 #137
- 修复了List类型不支持非数组单个元素输入的问题 #409 #426
- 修复某些场景Exception类型字段不能正确反序列化的问题 #362
- 修复了WriteClassName启用后,Byte/Short/Float/Double/Long/Date在某些场景反序列化类型丢失的问题 #412 #381 #454
- 修复了报错是文案不友好的问题 #414
- 修复了日期类型对日期格式支持不完整的问题 #413
- 修复了Float/Double序列化NaN/INFINITY/NEGATIVE_INFINITY不以null输出的问题 #423
- BigDecimal类型支持MongoDB Decimal128格式 #427
- 修复boolean不支持空字符串输入的问题 #429
- 新增JSONWriter.Feature.NotWriteEmptyArray,支持序列化时不输出空集合和空数组
- 修复不可见字符输出格式不对的问题 #435
- 修复JSONWriter.Feature.FieldBased打开时JSONField在某些类型字段上不生效的问题 #445
- 提升fastjson 1.x API的兼容性 #446
- 修复某些场景Kotlin序列化Map类型报错的问题 #440
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.7</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.7.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.7.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.7</version>
</dependency>
相关链接
- 相关issue 27个 https://github.com/alibaba/fastjson2/milestone/6
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.7
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.7/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.7.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.7.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.7/
fastjson 2.0.6发布,修复BUG提升兼容性
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.6版本 介绍
经过众多勇敢热心同学的验证,2.0.6已经具备生产可用的能力,但由于是初期版本,使用到生产还需要仔细观察验证,如果遇到问题反馈提issue到 https://github.com/alibaba/fastjson2/issues 。
2.0.6的兼容性也有很大改善,如果不想改代码的同学,可以尝试直接使用2.0.6的兼容包升级。
Issues
- 修复getObject方法不能自动识别非camalCase fieldName的问题 #402
- 修复JSONB格式反序列化List报错的问题 #385
- 新增加JSONReader.Feature DuplicateKeyValueAsArray,重复属性不是替换而是组合成数组 #379 #263
- 修复ReadOnly Collection字段反序列化某些场景抛空指针的问题 #397
- 修复fastjson 1.x兼容API中Feature.OrderedField不生效的问题 #394
- 修复fastjson 1.x兼容API中返回fastjson2的JSONArray导致类型不匹配的问题 #399
- 修复JSONB格式反序列化使用com.google.common.collect.Lists.transform报错的问题 #400
- 修复不支持fastjson 1.x JSONField.jsonDirect配置的问题 #398
- 修复WriteNulls & NullAsDefaultValue输出结果不对的问题 #372 #391
- 修复某些场景配置JSONField.format='392'不生效的问题 #392
- 修复某些API不能支持null和空字符串输入的问题 #389
- 修复集成spring-doc导致文档无法显示的问题 #387
- 修复graalvm编译native-image报错,框架使用quarkus报错的问题 #386
- 修复兼容fastjson 1.x API不支持JSONField.deserializeUsing的问题 #388
- 新增JSONReader.Feature AllowUnQuotedFieldNames,同时兼容fastjson 1.x #383
- 新增反序列化支持配置代替JSONObject/JSONArray的支持 #384
- 修复JSONField.format在context配置format后优先级不对的问题 #380
- 修复某些场景处理引用不对的问题 #377 #378
- 修复Android兼容的问题 #375
- 修复无法反序列化Class<?>对象的问题 #369
- 修复Android下某些场景kotlin报错的问题 #370
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.6</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.6.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.6.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.6</version>
</dependency>
相关链接
- 相关issue 29个 https://github.com/alibaba/fastjson2/milestone/5
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.6
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.6/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.6.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.6.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.6/
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/
fastjson 2.0.4发布
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.4版本 介绍
经过多个热心同学的验证,2.0.4已经具备生产可用的能力,但由于是初期版本,使用到生产还需要仔细观察验证,如果遇到问题反馈提issue到 https://github.com/alibaba/fastjson2/issues
- 更好兼容fastjson 1.x #248 #255 #274 #269 #287
- 对JDK17更好支持 #265
- 修复对反序列化多ClassLoader类冲突的问题 #252
- 内置支持GeoJson #256
- 提升对kotlin的支持 #276
- JSONObject修复泛型编译警告问题 #257 #282
- 支持json schema #239 ,相关介绍看这里 https://alibaba.github.io/fastjson2/son_schema_cn
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.4</version>
</dependency>
- GraalVM版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.4.graal</version>
</dependency>
- Android版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.4.android</version>
</dependency>
- 1.x 兼容版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.4</version>
</dependency>
相关链接
- 相关issue 17个 https://github.com/alibaba/fastjson2/milestone/3
- 代码tag https://github.com/alibaba/fastjson2/releases/tag/2.0.4
- 标准版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.4/
- graal支持版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.4.graal/ (仅在GraalVM 22.1 JDK17上做过验证)
- android版本 https://repo1.maven.org/maven2/com/alibaba/fastjson2/fastjson2/2.0.4.android/
- 1.x兼容版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/2.0.4/