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.1.55.android发布

Published by wenshao almost 8 years ago

这是一个针对android发布的小版本,例行的BUG修复功能增强,是针对上一个android版本1.1.54.android的升级。

fastjson的android版本针对android各个版本做优化,性能比原生的JSON解析器速度更快,也比gson/jackson要快。

Bug Fixed

  1. 修正泛型多重嵌套不能正确解析的问题 #569
  2. 修正兼容JDK的问题
  3. List类型支持输入'{}'这样的格式
  4. 修正引用计算不正确的问题。 #859

功能增强

  1. 支持抽象方法的JSONField配置 #911
  2. 支持NonPublicField反序列化 Feature.SupportNonPublicField #900

相关链接

fastjson - fastjson-1.2.21版本发布,修复BUG

Published by wenshao almost 8 years ago

这是一个Bug修复版本,修复大家反馈的问题。

Bug Fixed

  1. 修复@JSONField.name配置包含特别字符报错的问题 #887
  2. WriteClassName时自动识别代理类 #872
  3. 对象同时为Key和Value时引用计算出错 #688
  4. 修正byte/short/int/float类型parse溢出时不报错的问题 #868
  5. 修正JSONField定义在抽象类中无法被识别的问题 #744
  6. 当get/is方法同时存在时,优先选择get方法

功能增强

  1. @JSONField新增加alternateNames支持, 文档看这里 https://github.com/alibaba/fastjson/wiki/JSONField_alternateNames_cn #878

相关链接

fastjson - fastjson-1.2.20版本发布,修复BUG

Published by wenshao about 8 years ago

这是一个小改动的BugFixed版本,频繁发布是因为有人等着用。

Bug Fixed

  1. 在某些场景下,反序列化不支持私有缺省构造函数。
  2. 修正当使用SerializerFeature.WriteNullXXX而不配置SerializerFeature.WriteMapNullValue不工作的问题 #867

相关链接

fastjson - fastjson-1.2.19版本发布,修复BUG

Published by wenshao about 8 years ago

这是一个很小更新的BugFixed版本。

Bug Fixed

  1. 修复解析JSON某些场景引用JSONArray元素解析出错的BUG
  2. 修复解析JSON存在引用时性能较差的问题 #859
  3. 反序列化支持EnumMap

相关链接

fastjson - fastjson-1.2.18 例行Bug修复版本

Published by wenshao about 8 years ago

这是例行的BugFixed版本。

Bug Fixed

  1. 修正使用带参数的TypeReference会导致内存占用较大的问题。 #849
  2. 修正JSONField.deserializeUsing配置在泛型参数时不起作用的问题。 #829
  3. 全角中文字符不再作为特殊字符转义输出,一定程度避免MD5不一致的问题。 #690
  4. 修正某些场景嵌套泛型解析不正常的问题 #569 #852 #848

相关链接

fastjson - fastjson-1.2.17修复BUG功能增强

Published by wenshao about 8 years ago

这是例行的BugFixed功能增强版本,修复或者增强都是一些小问题,大家按需更新

Bug Fixed & Enhancement

  1. 支持XMLGregorianCalendar序列化和反序列化 #782
  2. 发序列化为char[]类型时如果类型不匹配,没有正确报错 #776
  3. 序列化float/double字段时保留.0后缀 #773
  4. JSONObject.getObject方法不能识别大小写不匹配的字段 #807
  5. JSONCreator构造对象时简单类型缺省值问题 #802
  6. 日期格式更智能识别 #801
  7. 某些场景非法JSON格式没有报错 #779
  8. JSONObject.getObject方法不能自动parse字符串 #780
  9. JSONPath在当数组属性不存在时报错 #799

相关链接

下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.17/
文档 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.17

fastjson - fastjson-1.1.54.android版本小改动Bug修复

Published by wenshao about 8 years ago

这是一个很小改动的bug修复版本。

Bug Fixed

  1. 修复JSON数组第第一个元素字符串且非第一个元素非字符串某些场景下解析出错的问题 #784
  2. 修复gradle 2.1.2匿名内嵌类首次序列化时性能低下的问题 #778
  3. 某些场景错误格式JSON不报错 #779

相关链接
下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.54.android/
文档 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.1.54.android

fastjson - 1.1.53.android版本BugFixed和功能增强

Published by wenshao about 8 years ago

这个是backport标准版本BugFixed和功能增强的版本。

  1. 反序列化final字段忽略而不是报错 #698
  2. JSONField支持配置dateFormat #729
  3. 嵌套泛型无法识别 #569
  4. 支持命名策略 #746 #699

相关链接

fastjson - fastjson-1.2.16修复BUG功能增强

Published by wenshao about 8 years ago

Bug Fixed

  1. 修复List字段存在特别字符并且JSON字符串大于2K时序列化导致格式错乱的问题。 #771
  2. 修复泛型多层嵌套时无法正确解析的问题 #569
  3. 修复SerializeConfig增加filter在map上失效的问题 #763
  4. 修复字段名非camel大小写规范时无法识别JSONField问题 #717

功能增强

  1. 新增加spring-websocket支持 https://github.com/alibaba/fastjson/wiki/Spring_websocket_support_cn #750
  2. JSONField支持通过serializeUsing和deserializeUsing配置定制序列化 文档 https://github.com/alibaba/fastjson/wiki/JSONField #767
  3. 新增加SerializerFeature.WriteBigDecimalAsPlain特性

相关链接

fastjson - fastjson-1.2.15支持属性命名策略配置和springfox

Published by wenshao about 8 years ago

这是一个小的更新版本,支持支持属性命名策略配置和springfox

功能增强

  1. 支持属性命名策略配置 #746 #699
  2. 支持springfox #697

Bug Fixed

  1. 修正JSONPath带都好的问题 #735 #747

相关链接

fastjson - fastjson-1.2.14 修复BUG功能增强

Published by wenshao over 8 years ago

这是一个BUG修复功能增强的迭代版本,功能增强都和JSONPath有关。

Bug Fixed

  1. 修复在某些场景下无法兼容JDK5/6/7的问题 #700
  2. 修复定制typeKey不起作用的问题 #710

功能增强

  1. JSONPath新增unset方法 #708
  2. JSONPath过滤条件支持boolean和double类型 #722
  3. JSONPath支持8级以上 #726
  4. JSONPath.set方法支持多级原来不存在的路径 #727
  5. JSONPath新增方法paths方法返回所有的path列表 #709
  6. JSONPath支持deepScan操作.. #725

相关链接

fastjson - fastjson-1.2.13 修复BUG

Published by wenshao over 8 years ago

这是一个改动较少的BUG修复版本。

Bug Fixed

  1. 修复某些特场景字段过多时序列化报ClassFormatError的问题。#681
  2. Enum类型反序列化空字符串报错。 #676
  3. 某些场景下反序列化引用计算错误。
  4. Final字段反序列化报错。#698

相关链接

fastjson - fastjson-1.2.12 修复BUG增强功能

Published by wenshao over 8 years ago

这个主要版本是BUG修复

Bug Fixed

  1. 修复多重嵌套泛型无法识别的问题 #564
  2. 修复自动类型字段无法正常反序列化的问题 #585
  3. 修复泛型基类在某种场景下序列化出错 #604 #621
  4. 修复1.2.11版FastJsonHttpMessageConverter里setContentLength无效的问题 #605
  5. 修复Enum使用ObjectSerializer自定义序列化类不起作用的问题 #607
  6. 修复不同classLoader交错使用fastjson时出现异常的问题 #616
  7. 修复不支持链式编程的父类setter问题 #633
  8. 修复BeanToArray模式下空值parse报错的问题 #630
  9. 修复实现Iterable接口的JavaBean序列化报错的问题 #638

功能增强

  1. JSONField的deserialize在public Field上不起作用 #555
  2. JSONField支持jsonDirect配置,直接输出JSON格式字符串 #564 https://github.com/alibaba/fastjson/wiki/JSONField_jsonDirect_cn
  3. BeanToArray支持在字段上配置 #610
  4. JSONField支持format配置支持Date/Java8 LocalDatetime #612 #627

相关链接

fastjson - fastjson-1.1.52.android BUG修复

Published by wenshao over 8 years ago

这是一个较少改动的版本,修复两个小bug,同时将两个标准版本的功能迁移到android版本上。

  1. 修复当子类和父类有相同名字字段时混淆后可能导致赋值到父类字段的情况。#615
  2. 修复当public Field和Getter方法类型不一致时导致序列化报错的问题
  3. JSON类新增toJavaObject方法,和标准版保持一致
  4. JSONType注解支持seeAlso配置,和1.2.11版本一致

相关链接

fastjson - fastjson-1.2.11 BugFix性能提升,BeanToArray模式性能超越probuf

Published by wenshao over 8 years ago

Bug Fixed

  1. 修复在某些场景下,List<String>字段序列化后结果不对的问题。这问题因1.2.10优化引起,在此版本1.2.11中修复。
  2. 修复FastJsonHttpMessageConverter和spring 4.x版本不兼容的问题 Issue591 Issue574 Issue577

功能增强

  1. 新增Class Level SerializeSerializeFilter功能,允许将SerializeSerializeFilter注册到Class级别
  2. JSON类新增API,parseObject对InputStream直接支持。https://github.com/alibaba/fastjson/wiki/JSON_parseObject_InputStream_cn
  3. JSON类新增API writeJSONString对OutputStream/Writer直接支持。https://github.com/alibaba/fastjson/wiki/JSON_writeJSONString_cn
  4. JSONType新增加seeAlso配置,类似JAXB中的XmlSeeAlso,允许输出更短的className名称。https://github.com/alibaba/fastjson/wiki/JSONType_seeAlso_cn
  5. 增强对BeanToArray模式的支持
  6. 序列化支持新特性IgnoreErrorGetter,启用后忽略报错的getter方法

性能提升

在fastjson-1.2.11版本中,序列化性能有了很大提升,总体性能远超过jackson的普通模式和afterburn模式。BeanToArray模式的提升更是明显,在BeanToArray模式下,eishay的测试已经超越protobuf。具体测试报告看这里 https://github.com/alibaba/fastjson/wiki/Benchmark_1_2_11

相关链接

fastjson - fastjson-1.1.51.android发布,继续提升性能

Published by wenshao over 8 years ago

性能改进

  1. 解决之前版本(1.1.47.android~1.1.50.android)反序列化存在大量转义字符的文本时性能较低的问题。
  2. 优化int/long类型读取的性能
  3. 优化key读取的性能
  4. 优化了BeanToArray模式的性能

通过各种办法优化,在1.1.51.android版本中,比目前主流采用1.1.46.android性能提升明显,在实际生产环境的case中,耗时只用原来的40%不到。

功能增强

  1. 支持类型为Collection/Map并且final只读的字段反序列化

相关链接

fastjson - fastjson-1.2.10版本发布,修复Bug,支持Class Level SerializeFilter

Published by wenshao over 8 years ago

Bug Fixed

  1. 修复ValueFilter导致序列化数据丢失的问题,这个在1.2.9优化序列化引起。
  2. 修复某些场景下解析json中的注释出错。issue 559
  3. 修复WriteNonStringValueAsString特性打开时,非public类序列化会导致int类型输出为0的问题。 issue 572
  4. 修复1.2.8/1.2.9版本不支持JDK 1.5的问题

功能增强

  1. 新增Class Level SerializeFilter支持,在此之前只能在toJSONString时SerializeFilter,对所有的类型都起作用,这样会对框架的实现由性能影响,新特性允许SerializeFilter注册在类型上,具体文档看这里 https://github.com/alibaba/fastjson/wiki/Class_Level_SerializeFilter

相关链接

fastjson - fastjson-1.1.50.android版本发布,修复性能优化引起的BUG

Published by wenshao over 8 years ago

在之前发布的1.1.47.android/1.1.48.android/1.1.49.android版本中,针对android做了大量性能优化,因此导致了一些Bug。在1.1.50.android版本中,做了大量的测试,以提高稳定性。

在1.1.50.android版本中,引入了travis-ci 做持续集成,引入了codecov.io来做测试覆盖率分析。在1.1.50.android版本中,测试覆盖率已经提升到95.20%。

Bug Fixed

  1. 修复带转义字符\"反序列化出错和转义字符丢失的问题,在1.1.47.android字符串解析优化导致 issue 553
  2. 修复JSONWriter在某些情况下导致格式错乱的问题,问题在1.1.47.android中性能优化引入。

相关链接

Bug Fixed

  1. 修复SupportArrayToBean启动时某些情况下报错的BUG。issue 562
  2. 修复自定义Enum反序列化实现时报错的BUG。issue 457
  3. 修正JSON.toJavaObject 转换 java.util.Currency 失败的问题。 issue 349
  4. 修正无法解析带注释的json问题。issue 439
  5. 修正无法自动识别android风格m前缀字段的问题。issue 443
  6. 修正float类型和double类型为空字符串时反序列化失败 issue 479
  7. 反序列化ArrayList派生类出错。issue 389
  8. 修正 @type如果没有在“{”之后的第一位时无法识别类型。issue 406
  9. 修正某些情况下引用计算错误的问题。issue 415, issue 236
  10. 修正JSON.toJSONString的某个方法强制使用WriteDateUseDateFormat的问题 issue 476, issue 367, issue 314
  11. 修正使用 ISO8601 序列化Calendar类型, 丢失时间数据。issue 331
  12. 修复json字符串尾部存在空字符串时报错的问题。issue 304

功能增强

  1. 支持链式编程API,JSONObject/JSONArray支持fluentPut/fluentPutAll/fluentClear/fluentRemove方法。 issue 551
  2. 支持jax-rs。新增加com.alibaba.fastjson.support.jaxrs.FastJsonProvider,来自smallnest的实现
  3. TypeUtils.castToDouble方法支持"1,000"这种风格的字符串。
  4. FastJsonHttpMessageConverter支持配置dateFormatPattern issue 418
  5. 增加ExtraProcessable扩展,用于JavaBean处理扩展字段,这个个性对于MapBean很有用。https://github.com/alibaba/fastjson/wiki/ExtraProcessable
  6. 增加FieldTypeResolver扩展,用于根据字段名称识别类型。 https://github.com/alibaba/fastjson/wiki/FieldTypeResolver
  7. SimplePropertyPreFilter增加maxLevel配置,可以用于配置最大输出层数。https://github.com/alibaba/fastjson/wiki/Samples-PropertyFilter
  8. 新增加ContextValueFilter,用于定制序列化。https://github.com/alibaba/fastjson/wiki/ContextValueFilter
  9. 新增SerializerFeature.WriteNonStringValueAsString ,用于将非字符串类型的值输出为字符串。issue 237
  10. 字节码生成的实现ASMSerializerFactory和ASMDeserializerFactory避免硬编码,方便一些容器重构修改包名内嵌,用于避免jar包版本冲突。
  11. TypeReference增强,支持传入参数 https://github.com/alibaba/fastjson/wiki/TypeReference
  12. 支持Iterable类型序列化 issue 478

性能

优化序列化的字节码生成实现,序列化性能略有提升。

相关链接

fastjson - fastjson-1.1.49.android版本发布,进一步提升性能

Published by wenshao over 8 years ago

进一步提升性能,提升json_string -> JSONObject之间的转换性能。在android 5下比原生org.json性能快30%,在android 6下接近原生org.json的性能。back port 1.2.x版本的特性和bug fixed。

Bug Fixed

  1. 修正1.1.48.android版本优化引起的Integer/Long/Float/Double类型的public Field序列化报错的bug。
  2. 修正1.1.48.android版本打包不恰当依赖gson的问题 issue 540
  3. 修正JSON.toJavaObject 转换 java.util.Currency 失败的问题。 issue 349
  4. 修正无法解析带注释的json问题。issue 439
  5. 修正无法自动识别android风格m前缀字段的问题。issue 443
  6. 修正float类型和double类型为空字符串时反序列化失败 issue 479
  7. 反序列化ArrayList派生类出错。issue 389
  8. 修正 @type如果没有在“{”之后的第一位时无法识别类型。issue 406
  9. 修正某些情况下引用计算错误的问题。issue 415, issue 236
  10. 修正JSON.toJSONString的某个方法强制使用WriteDateUseDateFormat的问题 issue 476, issue 367, issue 314
  11. 修正使用 ISO8601 序列化Calendar类型, 丢失时间数据。issue 331

功能增强

  1. 增加ExtraProcessable扩展,用于JavaBean处理扩展字段,这个个性对于MapBean很有用。https://github.com/alibaba/fastjson/wiki/ExtraProcessable
  2. 增加FieldTypeResolver扩展,用于根据字段名称识别类型。 https://github.com/alibaba/fastjson/wiki/FieldTypeResolver
  3. SimplePropertyPreFilter增加maxLevel配置,可以用于配置最大输出层数。https://github.com/alibaba/fastjson/wiki/Samples-PropertyFilter

性能增强

  1. 进一步提升性能,提升json_string -> JSONObject之间的转换性能。在android 5下比原生org.json性能快30%,在android 6下接近原生org.json的性能。
  2. 提供提升首次序列化和反序列化性能的注册类型信息API https://github.com/alibaba/fastjson/wiki/android_first_codec_optimize

相关链接