fastjson

FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.

APACHE-2.0 License

Stars
25.7K
Committers
197
fastjson - fastjson-1.2.38版本发布,增强对kotlin的支持,提升性能

Published by wenshao about 7 years ago

这是一个bug修复版本,针对日期类型反序列化做优化,内置阿里HSF框架优化支持。

Issues

  1. 修复某些场景kotlin支持的bug #1441 #1431
  2. 增强对Enum类型定制序列化和反序列化的支持 #1444 #1449
  3. 增强对ISO 8601日期格式的支持 #1443
  4. 修复特定features组合导致的空指针异常 #1425
  5. 修复字符类型特定场景多余空格导致解析错误的问题 #1422
  6. 修复long类型overflow不报错的问题 #1423
  7. 内置对alibaba hsf框架的特别支持
  8. 提升日期类型的反序列化性能

相关链接

fastjson - fastjson-1.1.62.android发布, 增强对支持kotlin

Published by wenshao about 7 years ago

这个版本主要是增强对kotlin的支持,支持nullable dataclass.

Issues

  1. 增强对kotlin的支持
  2. 日期反序列化支持更多的格式 #1411
  3. 提升某些特别场景的性能
  4. 修复IdentiHashMap的一个并发问题 #1407
  5. 修复JSONObject.getXXXValue可能空指针的问题 #1362

相关链接

fastjson - fastjson发布1.2.37版本,增强对Kotlin支持,进一步提升性能

Published by wenshao about 7 years ago

这个版本主要是增强对kotlin的支持,进一步提升性能,同时一些修复BUG。

Issues

  1. 增强对kotlin的支持
  2. 格式不对时更友好的报错信息 #1330
  3. 增加对spring security相关对象的序列化反序列化支持 #1390
  4. 修复FastjsonProvider自动注册的问题 #1392
  5. 日期反序列化支持更多的格式 #1411
  6. 修复IdentiHashMap的一个并发问题 #1407
  7. 进一步提升性能

相关链接

fastjson - fastjson-1.2.36版本发布,支持kotlin,进一步提升性能

Published by wenshao about 7 years ago

这个版本内置开始支持kotlin,进一步提升float/double的parse性能,提升序列化的性能。

Issues

  1. 内置支持kotlin,无需额外配置 https://github.com/alibaba/fastjson/wiki/kotlin_support_cn
  2. 修正WriteNonStringKeyAsString对enum支持的问题 #1371
  3. 使用fnv1a_64的prime和offset代替fnv_32的prime和offset
  4. 提升LinkedList序列化的性能 #1375
  5. Parser增强对java.sql.Timestamp的特别支持 #Timestamp
  6. 修正JSONObject.getXXXValue方法可能空指针的问题 #1362
  7. 修正某些场景下循环引用无法parse的问题 #1363
  8. 增强spring-mvc support #1361
  9. 修正方法级泛型推断错误的问题 #1320
  10. 支持反序列化时对属性值做trim处理 #1310
  11. 增强对jdk Proxy的序列化支持
  12. 增强Feature.BrowserSecure的支持,提升该选项打开时的性能
  13. 在spring-mvc场景,缺省打开增强Feature.BrowserSecure选项,防御xss安全攻击。
  14. 增加对无缺省构造函数类反序列化支持
  15. 提升float/double类型的parse性能(从android版port到标准版)
  16. 修复@JSONType.orders属性在parse时不起优化作用的bug

相关链接

fastjson - fastjson-1.1.61.android发布 内置支持kotlin

Published by wenshao about 7 years ago

这个版本内置支持kotlin。

Issues

  1. 内置支持kotlin,无需额外配置 https://github.com/alibaba/fastjson/wiki/kotlin_support_cn
  2. 修正WriteNonStringKeyAsString对enum支持的问题 #1371
  3. 使用fnv1a_64的prime和offset代替fnv_32的prime和offset
  4. 去掉在Android上用不到的SerializeFeature.BrowserCompatible
  5. 提升LinkedList序列化的性能 #1375

相关链接

fastjson - fastjson-1.1.60.android发布

Published by wenshao over 7 years ago

这个版本主要是从标准版本backport bug fixed & features

Issues

  1. 修复泛型参数对象不使用参数和使用参数混用导致解析类型不对的错误 #1265
  2. 反序列化支持SnakeCase和PascalCase名称自动识别 #1335
  3. 修复多层泛型嵌套导致反序列化错误的问题 #569
  4. 提升大小写不敏感匹配、SnakeCase匹配的性能
  5. 增强日期格式的parse支持 #1152 #1298
  6. 修复enum类型实现JSONAware接口不起作用的问题 #1222
  7. 增强对TypeRefernce的支持

相关链接

fastjson - fastjson-1.2.35版本发布

Published by wenshao over 7 years ago

这又是一个bug fixed和小功能改进的版本。

Issues

  1. 修复某些场景使用ValueFilter时抛空指针异常的问题 #1306 #1307 #1316
  2. 修改SerializerFeature.BrowserSecure启用时对'<'和'>'的处理方式,使用<和>代替\u。 #1321
  3. 增强JSONType.seeAlso对enum的支持 #1319
  4. 增强对日期类型自动识别支持 #1298
  5. 新增自定义反序列化API PropertyProcessable https://github.com/alibaba/fastjson/wiki/PropertyProcessable_cn

相关链接

下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.35/
文档 https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
源码 https://github.com/alibaba/fastjson/tree/1.2.35

fastjson - fastjson-1.2.34版本发布

Published by wenshao over 7 years ago

这又是一个BUG修复小改进版本。

Issues

  1. 修复JSONCreate方法无法正确处理简单类型缺省值的问题 #1300
  2. 修复某些泛型参数会导致ParserConfig不断增长最终OOM #1281
  3. 增强日期格式的parse支持 #1152 #1298
  4. 修正enum实现JSONAware在WriteEnumUsingToString特性打开时不起作用的问题 #1222
  5. 修复createASMSerializer出错时导致内存泄露的问题 #1258
  6. 当autoType=true时增强安全防护
  7. 修复异常反序列化会丢失部分字段信息的问题 #1276
  8. 在非JSONObject抛合适的异常 #1296

相关链接

fastjson - 1.1.59.android版本发布

Published by wenshao over 7 years ago

fastjson android版本是针对android优化,在android环境下性能更好,体积小,只有214K,占用内存小,首次序列化和反序列化开销小。

Issues

  1. 修复JSONCreate方法无法正确处理简单类型缺省值的问题 #1300
  2. 修复某些泛型参数会导致ParserConfig不断增长最终OOM #1281
  3. 增强日期格式的parse支持 #1152 #1298
  4. 修正enum实现JSONAware在WriteEnumUsingToString特性打开时不起作用的问题 #1222

相关链接

fastjson - fastjson-1.2.33版本发布

Published by wenshao over 7 years ago

这又是一个Bug Fixed及功能完善的小版本。

Issues

  1. 支持不序列化Hibernate Lazy Collection #1190
  2. 序列化Map支持SerializerFeature.WriteNonStringValueAsString #1083
  3. 支持一些特殊的日期字符串反序列化 #1152
  4. SerializerFeature.WriteEnumUsingToString 支持在JSONType上配置 #1196
  5. 修复Feature.DisableCircularReferenceDetect某些场景会抛异常的问题 #1198
  6. JSON.toJavaObject/JSONObject.getObject方法增加对泛型的支持 #1205 #969
  7. 修复对LinkedMultiValueMap反序列化报错的问题 #1240
  8. 修复enum类型实现JSONAware接口不起作用的问题 #1222
  9. byte[]类型支持SerializerFeature.WriteClassName
  10. byte[]类型支持压缩减少网络传输 https://github.com/alibaba/fastjson/wiki/JSONField_format_gzip
  11. 修复多层继承泛型推断的问题 #1225
  12. 修复泛型参数对象不使用参数和使用参数混用导致解析类型不对的错误

相关链接

fastjson - fastjson-1.1.58.android发布

Published by wenshao over 7 years ago

这又是一个bug fixed功能增强的小版本。

Issues

  1. 支持JSONField.alternateNames #1199 https://github.com/alibaba/fastjson/wiki/JSONField_alternateNames_cn
  2. TypeReference支持传入参数,和标准版本一样 #1197 https://github.com/alibaba/fastjson/wiki/TypeReference
  3. 修复toJavaObject不支持自定义反序列化的问题 #1233
  4. 修复Feature.DisableCircularReferenceDetect导致引用计算空指针异常的问题 #1231
  5. @JSONType支持typeKey配置 #1235 #1236 https://github.com/alibaba/fastjson/wiki/JSONType_typeKey_cn
  6. 修复多层继承泛型推断的问题 #1225

相关链接

fastjson - fastjson-1.2.32版本发布

Published by wenshao over 7 years ago

这又是一个Bug Fixed及功能完善的小版本。

Issues

  1. parse支持JSONField.unwrapped 相关文档 https://github.com/alibaba/fastjson/wiki/JSONField_unwrapped_cn
  2. 修复JSONField在某些场景下不起作用的BUG #1129
  3. 修复某些场景下JSONType.ignores不起作用的BUG #1146
  4. toJSON方法支持AnnotationType #1136
  5. TypeUtils.cast支持JSONObject to String #1178
  6. org.springframework.util.LinkedCaseInsensitiveMap/LinkedMultiValueMap加到反序列化安全白名单
  7. 修复JSONPath.set不支持deepScan的BUG #1177
  8. 日期反序列化支持'0000-00-00'
  9. 修复TypeUtils.castJavaBean不能识别自定义反序列化类型的问题
  10. 修复getOnly方法不能识别field中的JSONField Annotation的问题 #1188
  11. Map类型的反序列化支持size为1的数组输入,比如'[{}]' #1189

相关链接

fastjson - fastjson-1.1.57.android发布 优化首次性能

Published by wenshao over 7 years ago

这是一个小改动版本,提升首次反序列化和反序列化的性能,并且修复了几个Bug。

Issues

  1. 提升基于getter/setter首次序列化和反序列化的性能,但对使用public field的没有提升。 #1035
  2. 修复某些场景下序列化引用计算错误的问题。 #1053
  3. 修复JSONCreator的简单类型参数不必配时报错的问题 #1160 #1161
  4. TypeUtils.cast支持JSONObject到String类型的转换 #1178

相关链接

fastjson - fastjson-1.2.31版本发布

Published by wenshao over 7 years ago

这又是一个改动较少的小版本,不包括有4个新功能和4个问题修复。这个版本和安全更新无关,1.2.28以上版本,安全问题都是已经修复的。

New Feature & Enhancement

  1. 支持配置序列化最大程度 #1115
  2. JSONField支持unwrapped配置 #1124
  3. 支持fieldbased序列化和反序列化 #1114
  4. JSONField.serialzeFeatures支持NotWriteDefaultValue #1125

Bug Fixed

  1. 在某些场景下LongCodec在序列化时输出多余的L #1126
  2. Map.Entry类型序列化时特别字符没做转义处理。 #1109
  3. 在首字母大写的Field上配置@JSONField无法和Getter/Setter方法关联 #1120
  4. JSONPath支持数字属性 #1112

相关链接

fastjson - fastjson-1.2.30发布

Published by wenshao over 7 years ago

这是一个在1.2.29版本上小改动的升级版本,主要是解决老版本升级到最新版本的兼容问题。

Issues

  1. 新增加兼容的com.alibaba.fastjson.util.TypeUtils#computeGetters,该方法之前更改过参数签名,已补回两个方法重载的方法,更好兼容。
  2. 增加对android版本序列化的AtomicInteger/AtomicLong支持
  3. 修改下划线或者相似属性重复时解析结果不对的问题 #1089
  4. 反序列化增强对非静态内嵌类的支持,提供更友好的出错信息 #1082
  5. 新增反序列化特性Feature.DisableFieldSmartMatch 用于关闭大小写、下划线等动态匹配的功能。由于历史原因,如果反序列化中有多余字段,动态匹配会影响性能,特性Feature.DisableFieldSmartMatch打开可以解决这个问题。
  6. 反序列化日期格式更好支持yyyy-m-d这种日期格式 #1080

相关链接

fastjson - fastjson-1.2.29发布

Published by wenshao over 7 years ago

这是基于安全升级版本1.2.28之上的Bug Fixed版本,修复一些大家在升级过程中遇到的问题,非安全问题,1.2.25~1.2.28和所有sec01版本都是安全的。

Issues

  1. 支持新的Feature.IgnoreAutoType #1047
  2. Double转short异常时报异常 #894
  3. 修复JSONPath某些场景解析数组表达式错误的问题 #1038 #1030
  4. 对char[]类型提供更好的支持 #821
  5. TypeUtils.cast支持java.sql.Timestamp/java.sql.Date #1063
  6. toJSONString对\u2029做特殊转义 #1043
  7. LocaleDate支持反序列化null和空字符串 #1020
  8. 序列化对LongAdder/DoubleAdder支持 #1065
  9. 修复32个字段时反序列化报错的问题 #1071 (只在1.2.27/1.2.28中存在)
  10. TypeUtils.cast支持XMLGregorianCalendar类型 #1023
  11. 修复FastJsonpResponseBodyAdvice不兼容spring 4.3.3的问题 #1067
  12. FastJsonHttpMessageConverter支持com.fasterxml.jackson.databind.node.ObjectNode类型 #1041
  13. ASM JavaBeanSerializer.write方法支持传入null

相关链接

下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.29/
文档 https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
源码 https://github.com/alibaba/fastjson/tree/1.2.29

fastjson - fastjson-1.2.24版本发布

Published by wenshao almost 8 years ago

Issues

  1. JDK8 ZonedDateTime反序列化报错的 #980
  2. 新增加retrofit2内置支持 #956 https://github.com/alibaba/fastjson/wiki/Retrofit2Support
  3. 内置支持guava的Multimap #992
  4. 支持在接口上配置@JSONType(serializeUsing) #989
  5. 修复JSONPath.set在未初始化成员变量时报错的问题 #995
  6. JSONField.format配置支持float/double类型 #971
  7. Enum类型支持配置@JSONField(serializeUsing
  8. 修复JSON.toJSON方法format不起作用的问题
  9. 新增Enum定制序列化 #985 https://github.com/alibaba/fastjson/wiki/enum_custom_serialization
  10. 使用fnv64 hash算法提升enum类型的反序列化性能

相关链接

fastjson - fastjson-1.1.56.android发布,针对VR场景优化性能

Published by wenshao almost 8 years ago

这又是一个针对Android的功能增强修复问题性能提升的版本,针对VR场景常用的数据类型float/float[]/double/double[]做了针对性的优化。

Issues

  1. 提升float/float[]/float[][]/double/doube[]/double[][]/int[]等数据类型反序列化性能,这是针对VR场景的性能优化。
  2. 使用fnv64 hash算法对fieldName和enum的反序列化做优化,一定程度能减少内存占用和对String.charAt函数的访问提升性能。
  3. 日期类型能够自动识别"2016-11-10T11:40:42.4Z"这样的格式 #987
  4. JSONField支持配置在抽象方法上 #911
  5. 修复某些场景下多级继承泛型出错的问题

相关链接

fastjson - fastjson-1.2.23版本发布

Published by wenshao almost 8 years ago

这又是一个Bug Fixed的小版本。

Bug Fixed & 功能增强

  1. 修复对JDK 8 LocalDateTime格式化支持的问题 #952 #948 #942
  2. 修复SerializerFeature.SkipTransientField对java.beans.Transient注解不起作用的问题 #944
  3. 修复true/false后面紧跟注释字符串会报错的问题 #939
  4. 修复JDK 8 default setter method的问题 #947
  5. JSONArray新增加toJavaList方法 #922
  6. 修复某些场景下循环引用parse不正确的问题
  7. 修复多级继承的某些场景下泛型解析不正确的问题
  8. 修复JSON.toJSON方法不能识别buildMethod的问题

相关链接

fastjson - fastjson-1.2.22版本发布

Published by wenshao almost 8 years ago

这又是一个变更很小的维护版本,只修复BUG,没有功能增强,按需升级版本

Bug Fixed

  1. 修复某些场景反序列化引用计算错误的问题
  2. 修复JDK8缺省get方法序列化抛异常的问题 #289 #830 #935
  3. 修复某些场景嵌套泛型反序列化出错的问题 #918 #912

相关链接