A fast JSON parser/generator for Java.

Overview

fastjson

Build Status Codecov Maven Central GitHub release License Gitpod Ready-to-Code

Fastjson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Fastjson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.

Fastjson Goals

  • Provide the best performance on the server-side and android client
  • Provide simple toJSONString() and parseObject() methods to convert Java objects to JSON and vice-versa
  • Allow pre-existing unmodifiable objects to be converted to and from JSON
  • Extensive support of Java Generics
  • Allow custom representations for objects
  • Support arbitrarily complex objects (with deep inheritance hierarchies and extensive use of generic types)

fastjson

Documentation

Benchmark

https://github.com/eishay/jvm-serializers/wiki

Download

Maven

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.73</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.1.72.android</version>
</dependency>

Gradle via JCenter

compile 'com.alibaba:fastjson:1.2.73'
compile 'com.alibaba:fastjson:1.1.72.android'

Please see this Wiki Download Page for more repository info.

License

Fastjson is released under the Apache 2.0 license.

Copyright 1999-2020 Alibaba Group Holding Ltd.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at the following link.

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • parseObject反序列化导致OutOfMemoryError

    parseObject反序列化导致OutOfMemoryError

    224 java.lang.OutOfMemoryError: Java heap space 225 at java.lang.String.substring(String.java:1957) 226 at com.alibaba.fastjson.parser.JSONScanner.subString(JSONScanner.java:161) 227 at com.alibaba.fastjson.parser.JSONScanner.stringVal(JSONScanner.java:144) 228 at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:496) 229 at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:581) 230 at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1430) 231 at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1390) 232 at com.alibaba.fastjson.JSON.parse(JSON.java:181) 233 at com.alibaba.fastjson.JSON.parse(JSON.java:191) 234 at com.alibaba.fastjson.JSON.parse(JSON.java:244) 235 at com.alibaba.fastjson.JSON.parseObject(JSON.java:248)

    运行很久的程序,最近隔几天就一台机器oom,导致异常,请问下大家有遇到过么? com.alibaba fastjson 1.2.83_noneautotype

    opened by jieyuwang 0
  •  1.2.83 升级 2.0.21 值丢失?

    1.2.83 升级 2.0.21 值丢失?

    import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Setter;

    @Setter public class TestVo implements Serializable {

    @JsonIgnore
    private String test1;
    
    @JsonIgnore
    @JSONField(serialize = false)
    private String test2;
      
     public String getTest1() {
              if(StringUtil.isNotEmpty(test2)){
                  return test2;
              }
              return test1;
      }
    
    public static void main(String[] args) {
            TestVo test = new TestVo();
            test.setTest2("a");
            System.out.println(JSON.toJSONString(test));
           // 1.2.83 输出 {"test1":"a"} 2.0.21 输出 {}
    }
    

    }

    opened by xiangyunup 0
  • fastjson(1.2.83)序列化 com.fasterxml.jackson.databind.node.ArrayNode 丢失数据

    fastjson(1.2.83)序列化 com.fasterxml.jackson.databind.node.ArrayNode 丢失数据

    ArrayNode arrayNode=new ArrayNode(new JsonNodeFactory(true)); arrayNode.add(32342342342l); 我们的数据类型是ArrayNode,序列化上面的arrayNode的结果是: {"@type":"com.fasterxml.jackson.databind.node.ArrayNode","array":true,"bigDecimal":false,"bigInteger":false,"binary":false,"boolean":false,"containerNode":true,"double":false,"empty":false,"float":false,"floatingPointNumber":false,"int":false,"integralNumber":false,"long":false,"missingNode":false,"nodeType":"ARRAY","null":false,"number":false,"object":false,"pojo":false,"short":false,"textual":false,"valueNode":false}

    32342342342l这个值丢失了

    opened by xiaomacdut 0
  • 我希望fastjson能实现类似@Since @Until来控制字段是否在某个版本序列化,但是PropertyFilter接口的apply方法不带字段上下文信息

    我希望fastjson能实现类似@Since @Until来控制字段是否在某个版本序列化,但是PropertyFilter接口的apply方法不带字段上下文信息

    我希望fastjson能实现类似@Since @Until来控制字段是否在某个版本序列化,但是PropertyFilter接口的apply方法不带字段上下文信息,假如字段同时有使用@JSONField注解修饰,并且由此改变输出字段的Key值的话,在PropertyFilter接口的apply方法中拿到的name是已经修改后的值,这样无法通过反射拿到原始的字段和字段上的注解,ValueFilter倒是提供了一个ContextValueFilter接口,可以拿到字段的上下文信息。

    opened by vasin-liu 0
  • Bump spring-webmvc from 4.3.7.RELEASE to 5.2.20.RELEASE

    Bump spring-webmvc from 4.3.7.RELEASE to 5.2.20.RELEASE

    Bumps spring-webmvc from 4.3.7.RELEASE to 5.2.20.RELEASE.

    Release notes

    Sourced from spring-webmvc's releases.

    v5.2.20.RELEASE

    :star: New Features

    • Restrict access to property paths on Class references #28262
    • Improve diagnostics in SpEL for large array creation #28257

    v5.2.19.RELEASE

    :star: New Features

    • Declare serialVersionUID on DefaultAopProxyFactory #27785
    • Use ByteArrayDecoder in DefaultClientResponse::createException #27667

    :lady_beetle: Bug Fixes

    • ProxyFactoryBean getObject called before setInterceptorNames, silently creating an invalid proxy [SPR-7582] #27817
    • Possible NPE in Spring MVC LogFormatUtils #27783
    • UndertowHeadersAdapter's remove() method violates Map contract #27593
    • Fix assertion failure messages in DefaultDataBuffer.checkIndex() #27577

    :notebook_with_decorative_cover: Documentation

    • Lazy annotation throws exception if non-required bean does not exist #27660
    • Incorrect Javadoc in [NamedParameter]JdbcOperations.queryForObject methods regarding exceptions #27581
    • DefaultResponseErrorHandler update javadoc comment #27571

    :hammer: Dependency Upgrades

    • Upgrade to Reactor Dysprosium-SR25 #27635
    • Upgrade to Log4j2 2.16.0 #27825

    v5.2.18.RELEASE

    :star: New Features

    • Enhance DefaultResponseErrorHandler to allow logging complete error response body #27558
    • DefaultMessageListenerContainer does not log an error/warning when consumer tasks have been rejected #27457

    :lady_beetle: Bug Fixes

    • Performance impact of con.getContentLengthLong() in AbstractFileResolvingResource.isReadable() downloading huge jars to check component length #27549
    • Performance impact of ResourceUrlEncodingFilter on HttpServletResponse#encodeURL #27548
    • Avoid duplicate JCacheOperationSource bean registration in #27547
    • Non-escaped closing curly brace in RegEx results in initialization error on Android #27502
    • Proxy generation with Java 17 fails with "Cannot invoke "Object.getClass()" because "cause" is null" #27498
    • ConcurrentReferenceHashMap's entrySet violates the Map contract #27455

    :hammer: Dependency Upgrades

    • Upgrade to Reactor Dysprosium-SR24 #27526

    v5.2.17.RELEASE

    ... (truncated)

    Commits
    • cfa701b Release v5.2.20.RELEASE
    • 996f701 Refine PropertyDescriptor filtering
    • 90cfde9 Improve diagnostics in SpEL for large array creation
    • 94f52bc Upgrade to Artifactory Resource 0.0.17
    • d4478ba Upgrade Java versions in CI image
    • 136e6db Upgrade Ubuntu version in CI images
    • 8f1f683 Upgrade Java versions in CI image
    • ce2367a Upgrade to Log4j2 2.17.1
    • acf7823 Next development version (v5.2.20.BUILD-SNAPSHOT)
    • 1a03ffe Upgrade to Log4j2 2.16.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
Releases(1.2.83)
  • 1.2.83(May 23, 2022)

    这是一个安全修复版本,修复最近收到在特定场景下可以绕过autoType关闭限制的漏洞,建议fastjson用户尽快采取安全措施保障系统安全。

    安全修复方案https://github.com/alibaba/fastjson/wiki/security_update_20220523

    FASTJSON2已经发布并且提供兼容包,性能更好也更安全,升级指南 https://github.com/alibaba/fastjson2/wiki/fastjson_1_upgrade_cn

    Issues

    1. 安全加固
    2. 修复JDK17下setAccessible报错的问题 #4077
    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.83/
    • 文档 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.83
    • 2.0.x Releases https://github.com/alibaba/fastjson2/releases
    Source code(tar.gz)
    Source code(zip)
  • 1.2.79(Dec 19, 2021)

    这又是一个bug fixed的版本,大家按需升级

    Issues

    1. 修复引入MethodInheritanceComparator导致某些场景序列化报错的问题
    2. 增强JDK 9兼容
    3. 修复JSONArray/JSONObject的equals方法在内部对象map/list相同时不直接返回true的问题

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.79/
    • 文档 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.79
    Source code(tar.gz)
    Source code(zip)
  • 1.2.76(Apr 5, 2021)

    这又是一个bug fixed的版本,大家按需升级

    Issues

    1. 修复一些直接抛RuntimeException的问题 #3631
    2. parser自动识别gzip bytes #3614
    3. 修复Throwable继承类属性不支持自动类型转换问题 #3217
    4. 修复PrettyFormat情况下引用计算不对的问题 #3672
    5. 修复AutoType不兼容LinkedHashMap的问题
    6. 增强对Enum类型的自定类型转换
    7. 修复deserializeUsing在泛型某些场景不能正常工作的问题 #3693
    8. 提升JSONReader性能,减少小对象创建 #3627
    9. 增强对JSONPath对filter的支持 #3629
    10. JSONPath支持忽略NullValue的选项 #3607
    11. 增强对定制化enum的支持 #3601
    12. 增强对java.time.Instant和org.joda.time.Instant的支持 #3539
    13. 修复Parser某些场景不能识别引用的问题

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.76/
    • 文档 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.76
    Source code(tar.gz)
    Source code(zip)
  • 1.2.75(Nov 5, 2020)

    这又是一个Bug修复版本,大家按需升级

    Issues

    1. 修复@Configuration配置导致序列化死循环的问题 #3469
    2. 修复某些场景使用TypeReference反序列化导致死循环的问题
    3. mixin支持@JSONCreator配置
    4. 修复某些情况反序列化引用计算不对的问题
    5. 增强对JSONPath的支持 #3493
    6. 修复某些场景JSONValidator返回结果不对的问题

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.75/
    • 文档 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.75
    Source code(tar.gz)
    Source code(zip)
  • 1.2.74(Oct 8, 2020)

    这又是一个Bug修复版本,大家按需升级

    Issues

    1. 修复序列化时BeforeFilter/AfterFilter某些场景报空指针异常的问题 #3373 #3475
    2. TypeUtils float/double转换为BigInteger/BigDecimal时判断isNan和isInfinite
    3. 支持通过启动参数和fastjson.properties配置fastjson.auto.discoverable, 解决某些场景fastjson与jackson冲突问题
    4. 增强对Jdk8日期格式化支持 #3288
    5. 修复某些场景对泛型推导不正确的问题 #3448
    6. 修复JSONValidator某些场景结果不对的问题 #3453 #3460
    7. 序列化增加对org.json.JSONObject的支持

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.74/
    • 文档 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.74
    Source code(tar.gz)
    Source code(zip)
  • 1.2.73(Jul 26, 2020)

    这个是一个小版本升级,修复最近升级过程中遇到的一些Bug和兼容问题。

    Issues

    1. 修复AfterFilter某些场景会抛空指针的问题 #3217 #3150
    2. 提升JSONValidator的性能
    3. 修复在带T的定制日期格式时不生效的问题 #3361
    4. 修复JSONObject.get和contains方法对Boolean/Character/UUID类型Key行为和Number类型不一致
    5. 修复传入ParameteredTypeImpl导致内存泄露的问题
    6. 修复JSONValidator某些场景结果不对的问题 #3343
    7. 修复某些场景引用计算不对的问题 #3336
    8. 修复NumberDeserializer不支持~Feature.UseBigDecimal的问题 #3326
    9. 修复JSONArray做Java反序列化是某些场景报错的问题
    10. 修复JSONObject.toJavaObject某些场景JSONField不起作用的问题 #3313
    11. 增强支持castToDate支持 #3309
    12. 增强对Kotlin的支持
    13. 修复泛型方法重载后类型丢失的问题 #3227
    14. 修复对Moneta对BigDecimal类型兼容的问题 #3318
    15. 修复1.2.71~1.2.72版本某些场景key大小写敏感的问题 #3312

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.73/
    • 文档 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.73
    • 安全漏洞升级方案 https://github.com/alibaba/fastjson/wiki/security_update_20200601
    Source code(tar.gz)
    Source code(zip)
  • 1.2.72(Jun 27, 2020)

    1.2.72在1.2.71的版本上修复对kotlin和JDK 5/6/7支持的问题

    Issues

    1. 修复对JDK 5/6/7版本不支持的问题 #3280
    2. 增强对JDK 11 immutable collection的支持
    3. 新增加Parser Feature TrimStringFieldValue #3279
    4. 增强对对日期格式的识别 #3282
    5. 序列化忽略InputStream & Reader类型的字段
    6. 修复Joda日期类型不支持SerializerFeature WriteDateUseDateFormat的问题
    7. 修复某些场景下JSONValidator校验结果不对的问题 #3296 #3293
    8. 修复Map类型字段设置parseFeatures = Feature.DisableSpecialKeyDetect无效的问题 #3138
    9. 增强对kotlin的支持 #3274

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.72/
    • 文档 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.72
    • 安全漏洞升级方案 https://github.com/alibaba/fastjson/wiki/security_update_20200601
    Source code(tar.gz)
    Source code(zip)
  • 1.2.71(Jun 14, 2020)

    1.2.71在1.2.70的版本上修复对kotlin和JDK 5支持的问题。

    Issues

    1. 修复对kotlin支持的bug #3223 #3248
    2. 支持JSONPatch
    3. 修复JSONValidator某些场景getType结果不对的问题
    4. 修复对下划线字段智能匹配的问题
    5. 修复对带对特别字符引用不支持的问题
    6. parseArray方法支持config
    7. 增强对JSONPath的支持
    8. 补充安全黑名单,无新增利用,预防性补充。
    9. 增强BigInteger和BigDecimal的边界检测
    10. JSONType支持配置AutoTypeCheckHandler
    11. 增强对enum类型的定制化序列化反序列化支持 https://github.com/alibaba/fastjson/wiki/enum_custom_serialization

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.71/
    • 文档 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.71
    • 安全漏洞升级方案 https://github.com/alibaba/fastjson/wiki/security_update_20200601
    Source code(tar.gz)
    Source code(zip)
  • 1.2.70(Jun 1, 2020)

    这是一个小的改进版本,主要是在1.2.69上做bug fixed,提升兼容性。

    Issue

    1. 修复toJavaObject某些场景结果不对的问题
    2. 增强对kotlin的支持
    3. 增强对protobuf的支持
    4. 修复JSONPath set方法不能自动类型转换的问题
    5. 修复序列化有循环引用key带特殊字符结果不对的问题
    6. 安全加固,增加autoType黑名单

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.70/
    • 文档 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.70
    • 安全漏洞升级方案 https://github.com/alibaba/fastjson/wiki/security_update_20200601
    Source code(tar.gz)
    Source code(zip)
  • 1.2.69(Jun 1, 2020)

    这是一个关键的安全修复版本,修复新发现高危autotype开关绕过安全漏洞,请大家尽快升级到1.2.69或者更新版本。

    Issues

    1. 安全修复,修复新发现高危autotype开关绕过安全漏洞
    2. 安全修复,补全autoType黑名单
    3. 修复JSONValidator不当抛出异常的问题
    4. 增强对geojson的支持
    5. 修复对java.sql.Timestamp带nano场景序列化结果不对的问题
    6. WriteClassName新增对LinkedHashSet的支持
    7. 修复当时间为1970-01-01 08:00:00 时,TypeUtils.castToTimestamp 转换异常的问题
    8. 修复当@type为白名单是抛空指针的问题 #3109
    9. 修复EasyMock场景报NPE的问题 #3119
    10. 修复某些场景下反序列化enum报错的问题 #2065
    11. 修复JSONPath keySet不能之别Number/Date/UUID类型的问题
    12. JSONPath支持中文key
    13. 修复Feature.InitStringFieldAsEmpty启用时,某些场景结果不对的问题 #3050 #2387
    14. 支持中文package的类名序列化和反序列化
    15. 增强对kotlin的支持
    16. 优化序列化性能,在boolean和长字符串场景减少内存碎片

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.69/
    • 文档 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.69
    • 漏洞修复方案 https://github.com/alibaba/fastjson/wiki/security_update_20200601
    Source code(tar.gz)
    Source code(zip)
  • 1.2.68(Mar 28, 2020)

    fastjson 1.2.68版本发布,Bug修复功能增强安全加固

    这又是一个Bug修复功能安全加固版本,补充了autoType黑名单。如果已经升级到1.2.67版本或者所有sec09版本,没有显式打开autoType,不需要因为安全原因升级到1.2.68。

    在1.2.68中引入一个safeMode的配置,配置safeMode后,无论白名单和黑名单,都不支持autoType。

    在1.2.68版本中,引入了GeoJSON的支持。https://github.com/alibaba/fastjson/wiki/geojson_cn

    Issues

    1. 内置支持geojson https://github.com/alibaba/fastjson/wiki/geojson_cn
    2. 修复1.2.67版本引入JSONObject.toJavaObject某些场景结果不对的问题。
    3. ParserConfig加入AutTypeCheckHandler支持,允许自定义安全检查
    4. jsonpath修复对.max和.min支持的bug #3066
    5. 修复JSONObject containsKey对Number值类型参数行为和getObject不一致的问题 #3093
    6. 增强对Map.Entry泛型的支持
    7. 增加autoType黑名单。
    8. 支持配置safeMode https://github.com/alibaba/fastjson/wiki/fastjson_safemode

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.68/
    • 文档 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.68
    Source code(tar.gz)
    Source code(zip)
  • 1.2.67(Mar 19, 2020)

    这又是一个Bug修复安全加固版本,补充了autoType黑名单。

    Issues

    1. 修复toJavaObject方法JSONField.deserializeUsing配置不生效的问题 #3060
    2. 反序列化增加对java.util.Deque的支持
    3. 反序列化增强识别日期格式yyyy-MM-d HH:mm:ss #3049
    4. 修复某些场景JSONPath报错的问题 #3056
    5. 增强autoType安全黑名单

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.67/
    • 文档 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.67
    Source code(tar.gz)
    Source code(zip)
  • 1.2.66(Mar 1, 2020)

    这又是一个维护版本,修复了一些BUG,并且做安全加固,补充了AutoType黑名单。

    Issues

    1. 修复某些场景下BeanToArray报错的问题
    2. 修复某些场景多版本共存导致的的兼容问题
    3. 修复JSONArray构造方法中,由null List会引发的NPE问题
    4. 修复大对象某些场景会报错的问题 #2779
    5. 修复字符串自动转换为数值时,小数点后全零报错的问题 #2838
    6. 修复某些场景下不识别Kotlin泛型的问题
    7. 修复开始SupportNonPublicField特性后JSONField配置name不支持private字段的问题 #2866
    8. 修复纳秒级 Timestamp 解析异常问题 #2894
    9. 日期自动识别增强对纳秒时间的支持的
    10. 支持对Queue类型的反序列化
    11. 修复JSONField 在LocalDateTime类型时 format 不生效问题
    12. 修复JSONValidator有些场景不能识别非法JSON数据的问题 #3017
    13. 加强安全防护

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.66/
    • 文档 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.66
    Source code(tar.gz)
    Source code(zip)
  • 1.2.62(Oct 7, 2019)

    国庆期间在家休息,更新一个版本。主要是增加autoType黑名单、增强日期反序列化支持、增强JSONPath支持。

    再次声明一下,fastjson的autoType缺省是关闭的,缺省是基于白名单的。autoType黑名单的不断补充是给一些特别场景需要的,没有显式打开autoType的用户,不需要因为安全原因升级到大于1.2.60的版本。

    Issues

    1. 增加autoType黑名单
    2. 修复JavaBeanSerializer.processValue兼容问题 #2790
    3. 修复JSONField.unwrapped在toJSON方法中不起作用的问题 #2447
    4. 增强日期定制序列化反序列化的支持,增强dateFormat的支持,新增支持'millis'和'unixtime'两种格式输出和反序列化
    5. 修复某些场景下多级别泛型推导不起作用的问题 #2397
    6. JSONPath.remove方法支持更多语法 #2791
    7. JSONPath复杂表达式支持更多场景 #2743 #2792
    8. 支持$和_开头字段 #2762
    9. 反序列化自动识别日期格式支持新西兰时区 #2754

    相关链接

    • 下载 https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.62/
    • 文档 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.62
    Source code(tar.gz)
    Source code(zip)
  • 1.2.61(Sep 19, 2019)

    最近Freebuf有人发表了文章,公布了两个不在autoType黑名单中可以被利用的类,某安全厂商把漏洞定义为高。这里要说明下,autoType默认是关闭的,需要显示配置打开并且依赖特定包的漏洞不应该算是高危漏洞。

    欢迎 https://github.com/Omega-Ariston 成为 fastjson的committer。

    Issues

    1. 增加autoType安全黑名单
    2. 恢复1.2.60版本SerializeConfig中误删的put方法
    3. 修复JSONField.unwrapped在某些场景属性丢失的问题 #2753
    4. 修复Feature.NonStringKeyAsString在某些场景不生效的问题 #2736
    5. 修复不支持guava ArrayListMultimap的问题 #2430
    6. 修复JSON.parseArray方法不能识别byte[].class和char[].class作为变长参数的问题 #2464
    7. 修复snake_case配置在嵌套时不生效的问题 #2428
    8. 修复BigInteger类属性在超大数时结果不对的问题 #2628
    9. 修复java.sql.Date在某些场景丢失精度的问题

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.61/
    • 文档 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.61
    Source code(tar.gz)
    Source code(zip)
  • 1.2.60(Sep 5, 2019)

    这又是一个BUG修复安全加固版本,增加了AutoType黑名单,修复了一个导致拒绝服务的问题。

    安全修复建议

    拒绝服务安全漏洞涉及之前所有FASTJSON版本,建议升级到最新版本1.2.60。如果遇到不兼容问题,可以使用如下兼容版本:

    1.1.15~1.1.31 -> 1.1.31.sec07 这版本不一样是因为1.1.31.sec06发布后,发现1.1.31版本特有一个的问题,又发布了1.1.31.sec07
    1.1.32~1.1.33 -> 1.1.33.sec06 
    1.1.34        -> 1.1.34.sec06
    1.1.35~1.1.46 -> 1.1.46.sec06
    1.2.3~1.2.7   -> 1.2.7.sec06 因为1.2.7使用最多特别提供,也可以直接使用1.2.8.sec06
    1.2.8 -> 1.2.8.sec06
    1.2.9~1.2.29 -> 1.2.29.sec06
    

    安卓版本1.1.71.android 不受此漏洞影响。

    已知不兼容列表

    https://github.com/alibaba/fastjson/wiki/1_2_60_incompatible

    为了方便大家无缝升级,提供了如下原地升级版本

    1.2.48.sec06
    1.2.51.sec06
    1.2.54.sec06
    1.2.56.sec06
    1.2.57.sec06
    1.2.58.sec06
    

    Issues

    1. 安全增强,增加AutoType黑名单,修复特定场景导致拒绝服务的问题
    2. 序列化支持org.json.JSONObject类型 #1780
    3. 修复某些场景Enum定制反序列化不生效的问题 #2179
    4. 修复某些场景解析非法字符串不抛异常的问题 #2641
    5. 修复JSONField配置WriteBigDecimalAsPlain不生效的问题 #2355
    6. 增强Builder模式支持,JSONPOJOBuilder支持withPrefix为空字符串等,#2346 #2673
    7. 修复全接口对象@Transient不起作用的问题 #1903
    8. 修复解析base64字符串带'/'解析错误的问题
    9. 修复使用JSONField指定序列化使用单引号不生效的问题 #2678
    10. 修复使用JSONField指定WriteMapNullValue特性不生效的问题
    11. 反序列化自动识别日期格式支持'yyyy-MM-dd HH:mm:ss,SSS'
    12. 反序列化日期格式支持unixtime #2300
    13. 修复序列化byte[]在某些场景报错的问题 #2602
    14. 新增加高性能JSONValidator API https://github.com/alibaba/fastjson/wiki/JSONValidator
    15. 新增Mixed功能,解决第三方无法修改源码的类定制序列化问题 https://github.com/alibaba/fastjson/wiki/MixInAnnotations_cn

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.60/
    • 文档 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.60
    Source code(tar.gz)
    Source code(zip)
  • 1.2.59(Jul 31, 2019)

    这个版本主要是补充AutoType黑名单,增强AutoType打开时的安全性。建议不要缺省打开AutoType,AutoType打开后,黑名单是无法保证是完整的。

    Issues

    1. 安全增强补充AutoType黑名单
    2. 增强JSONPath对特别字符的支持 #2515
    3. JSONPath.remove方法支持deepScan语法
    4. 修复Field和Getter类型不一致时反序列化报错的问题
    5. 修复JSONObject.toJavaObject报错的问题 #2516

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.59/
    • 文档 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.59
    Source code(tar.gz)
    Source code(zip)
  • 1.2.58(May 3, 2019)

    五一期间没外出,在家休息,修复已知问题,发一个版本。改动很少,只有3个Issue。

    Issues

    1. 修复JDK 5/6/7兼容问题
    2. 内置支持Moneta
    3. 提升JSONObject.toJavaObject性能

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.58/
    • 文档 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.58
    Source code(tar.gz)
    Source code(zip)
  • 1.1.71.android(Apr 21, 2019)

    这个是例行维护版本,修复2个bug,增加一个1.2.x兼容的方法,优化部分场景的性能。

    Issues

    1. 修复反序列化Class[]类型报错的问题 #1945
    2. 修复JSONType指定typeKey时反序列化丢失部分字段的问题 #1941
    3. 增加JSON.parseObject(String/Type/ParserConfig/Feature...)方法,兼容1.2.x API
    4. 提升JSONObject.toJavaObject方法性能
    5. 提升字符串castToDouble的性能

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.71.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.71.android
    Source code(tar.gz)
    Source code(zip)
  • 1.2.57(Apr 11, 2019)

    这又是一个例行的bug修复维护版本。修复BUG ,提升某些场景的性能。

    Issues

    1. 修复智能匹配多余字段时覆盖原字段的问题 #2348
    2. 支持序列化按父类字段序列化 #2289 https://github.com/alibaba/fastjson/wiki/WriteAs_CN
    3. 修复JSON.parseArray反序列化非静态内部类时报错信息不友好的问题 #2358
    4. 修复JSONPath的一些问题 #2189 #2306
    5. 修复Java 10兼容问题 #2105
    6. 修复SupportArrayToBean反序列化首字段是字符串是报错的问题 #2351
    7. 序列化反序列化支持ByteBuffer类型 #2357
    8. 修复BrowserCompatible在long类型时无效的问题 #2344
    9. 序列化java.sql.Date使用yyyy-MM-dd格式 #2156
    10. Date、Timestamp类型支持1970年以前的时间格式 #2260
    11. 新增JSONObject.toString(SerializeFeature...)方法 #2074
    12. 修复复杂继承情况下 TypeUtils.getCollectionItemType() 获取类型错误导致反序列化失败的问题 #2224
    13. 提升字段数量大于200个的对象反序列化性能
    14. 提升JSONObject.toJavaObject性能

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.57/
    • 文档 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.57
    Source code(tar.gz)
    Source code(zip)
  • 1.2.56(Jan 26, 2019)

    这又是一个小的Bug修复版本,大家按需升级

    Issues

    1. ParserConfig支持类型别名
    2. 修复Enum反序列化处理长度为0字符串在某些场景不返回NULL报错的问题
    3. 增强Java 11支持 #2257
    4. 增强对Jdk8日期API的支持
    5. 日期格式支持unixtime

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.56/
    • 文档 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.56
    Source code(tar.gz)
    Source code(zip)
  • 1.2.55(Jan 20, 2019)

    这又是一个Bug修复版本,修复1.2.54版本发布以来发现的bug。

    Issues

    1. 修复反序列化时float/double类型在某些场景精度丢失的问题。
    2. 增强kotlin支持,修复特定场景构造函数找不到报错的问题
    3. 修复BrowserCompatible特性打开时在BigInteger/BigDecimal类型超过范围时不加双引号的问题
    4. 修复整数字段反序列化越界时结果不对的问题
    5. 增强对日期格式反序列化的支持,支持'+800'结尾时区格式的日期格式,增强对Jdk8日期的支持
    6. 增强对HibernateProxy对象的支持
    7. 修复Feature.OrderedField对Map类型不生效的问题
    8. 修复反序列化不支持java.util.Queue类型的问题。
    9. 新增Feature.ErrorOnEnumNotMatch,用于反序列化时Enum没找到匹配值时报错
    10. 优化FastJsonRedisSerializer的实现
    11. 优化Retrofit2ConverterFactory实现
    12. 序列化增加安全监测
    13. 增强JAX-RS支持
    14. 增强Spring-MVC的支持

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.55/
    • 文档 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.55
    Source code(tar.gz)
    Source code(zip)
  • 1.2.54(Nov 29, 2018)

    这又是一个功能修复的版本。主要是修复JSONObject.readObject安全检测误报问题。

    Issues

    1. 修复JSONObject.readObject安全检测误报错误的问题
    2. 修复TypeUtils.getClass处理泛型不当的问题
    3. BrowserCompatible支持BigInteger类型
    4. 修复JSONPath.extract不支持$的问题

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.54/
    • 文档 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.54 开源中国2018年度最受欢迎开源软件评选 https://www.oschina.net/project/top_cn_2018
    Source code(tar.gz)
    Source code(zip)
  • 1.2.52(Nov 18, 2018)

    这又是一个功能增强bug修复的版本。主要是增强对JSONPath的支持。

    Issues

    1. 增强JSONPath的支持,增强新的JSONPath.extract API,根据path按需解析JSON数据,大幅提升JSONPath的性能,可用于大数据分析场景。https://github.com/alibaba/fastjson/wiki/JSONPath_Extract
    2. SerializeWriter支持配置bufLocal大小,并改进缓存buf的算法。这是根据 @江南白衣 的建议做的改进。 https://github.com/alibaba/fastjson/wiki/Config_serializer_buffer_threshold_cn
    3. 修复反序列化是打开Feature.DisableCircularReferenceDetect时,某些场景会抛空指针的问题
    4. 增强JSONFeild.format对日期格式的支持,自动识别不带单引号的T格式 #2103
    5. 增强对joda日期库的支持
    6. JSONPath.contains支持对List
    7. 增强对guava的支持,支持HashMultimap #2132

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.52/
    • 文档 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.52
    • 开源中国2018年度最受欢迎开源软件评选 https://www.oschina.net/project/top_cn_2018
    Source code(tar.gz)
    Source code(zip)
  • 1.2.51(Oct 1, 2018)

    这又是一个BUG修复安全加固版本。

    Issues

    1. 修复1.2.50引入的JSONObject.getInt不支持float/double到int/long转换的问题
    2. 修复ServiceLoader捕捉异常不完全的问题
    3. 增强对Jackson的兼容
    4. fastjson.properties配置支持parser.features.NonStringKeyAsString配置
    5. 修复JSONArray/JSONObject的readObject在xstream环境下报错的问题
    6. 增强日期格式支持,支持半小时时区和45分钟时区
    7. 新增加joda日期库的支持,支持DateTime/LocalDate/LocalDateTime/LocalTime/Instant/Period/Duration/DateTimeZone/DateTimeFormatter
    8. 新增JSONPath.extract方法,能根据jsonpath按需解析JSON,大幅提升json解析性能,适用于大数据分析场景。
    9. 增强安全防护

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.51/
    • 文档 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.51
    Source code(tar.gz)
    Source code(zip)
  • 1.2.49(Aug 5, 2018)

    这又是一个BUG修复版本,由于时间间隔较久,差不多5个月,修复的问题较多。

    Issues

    1. 日期反序列化支持1970以前的数值 #1772
    2. 日期反序列化自动识别支持yyyy-M-d格式 #1785
    3. Locale为CHINA时反序列化自动识别英文日期格式 #1841 #1901
    4. 修复Comparable类型字段反序列化堆栈溢出的问题 #1834 #1835
    5. 修复LocalDateTime包含纳秒反序列化失败的问题 #1987
    6. 修改LocalDateTime序列化输出,不在使用long输出,统一输出为字符串 #1892
    7. 修复夏令时时区错误的问题 #1878
    8. 修复JSONField设置format不生效的问题 #1510
    9. 修复SerializerFeature.WriteNullValue粗粒不当的问题 #1835 #1837
    10. 修复JSONPath比较支持float/double/BigDecimal的问题 #1839
    11. 修复Class[]在Map之后会导致反序列化失败的问题 #1945
    12. 增加对spring-security-oauth2的支持 #1962
    13. 修复SerializerFeature.WriteBigDecimalAsPlain不起作用的问题 #1982
    14. 修复JSONPath不支持中文key的问题 #1988
    15. 修复反序列化float/double某些场景下丢失精度的问题 #1944
    16. 增加对org.w3c.dom.Node序列化的支持 #1939
    17. 修复LabelFilter结果不对的问题 #1856
    18. 修复JSONPath LIKE结果不对的问题 #1902
    19. 增强对kotlin的支持 #1569
    20. 增强安全防护

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.49/
    • 文档 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.49
    Source code(tar.gz)
    Source code(zip)
  • 1.2.47(Mar 15, 2018)

    这又是一个Bug修复的小版本,更好支持kotlin、嵌套泛型、jsonpath。

    Issues

    1. 修复多级泛型的里层无法正常解析的问题 #1763 #569
    2. 修复kotlin在某些特别场景下反序列化不对的问题 #1750
    3. 修复float超过精度导致负数的问题 #1723
    4. jsonpath支持条件组合 #1733

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.47/
    • 文档 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.47
    Source code(tar.gz)
    Source code(zip)
  • 1.2.46(Feb 5, 2018)

    这是一个小的Bug修复及安全加固版本。安全加固内容包括扩大黑名单,打开autoType的用户需要升级。

    Issues

    1. 反序列化enum错误值时统一为NULL #1393
    2. 修复float类型字段超过精度时结果为负值的错误 #1723
    3. 修复toJavaObject是不会触发JSONField的问题 #1727
    4. 修复toJavaObject时enum定制反序列化不生效 #1582
    5. 安全加固

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.46/
    • 文档 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.46
    Source code(tar.gz)
    Source code(zip)
  • 1.2.45(Jan 21, 2018)

    这是一个小更新版本,大家按需升级。

    Issues

    1. 修复PropertyFilter和SerializerFeature.BeanToArray组合使用结果不对的错误 #1580
    2. 修复简单类型@JSONField的 deserializeUsing不起作用问题
    3. 修复某些场景下无法支持AutoType的问题 #1699
    4. 增强对Swagger UI 2.0支持

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.45/
    • 文档 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.45
    Source code(tar.gz)
    Source code(zip)
  • 1.1.68.android(Jan 1, 2018)

    这又是一个bug fixed的小版本,大家按需更新。

    Issues

    1. 修复ThrowableDeserializer可能存在空指针的问题 #1613
    2. 修复@JSONType.WriteNullStringAsEmpty不起作用的问题 #1649
    3. 修复使用NameFilter存在时WriteNullBooleanAsFalse不起作用的问题 #1635
    4. 修复JSONField.name和PropertyNamingStrategy冲突时优先顺序的问题 #1647
    5. 支持使用JSONType.naming配置PropertyNamingStrategy #1555
    6. 增加toJSONBytes方法和1.2.42之后的版本一致 #1628
    7. 安全加固,加强黑名单检查

    相关链接

    • 下载 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.68.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.68.android
    Source code(tar.gz)
    Source code(zip)
Owner
Alibaba
Alibaba Open Source
Alibaba
MapNeat is a JVM library written in Kotlin that provides an easy to use DSL (Domain Specific Language) for transforming JSON to JSON, XML to JSON, POJO to JSON in a declarative way.

MapNeat is a JVM library written in Kotlin that provides an easy to use DSL (Domain Specific Language) for transforming JSON to JSON, XML to JSON, POJ

Andrei Ciobanu 59 Sep 17, 2022
Fast JSON parser for java projects

ig-json-parser Fast JSON parser for java projects. Getting started The easiest way to get started is to look at maven-example. For more comprehensive

Instagram 1.3k Dec 26, 2022
High-performance JSON parser

HikariJSON A High-performance JSON parser. HikariJSON is targeted exclusively at Java 8. If you need legacy support, there are several decent librarie

Brett Wooldridge 454 Dec 31, 2022
A simple java JSON deserializer that can convert a JSON into a java object in an easy way

JSavON A simple java JSON deserializer that can convert a JSON into a java object in an easy way. This library also provide a strong object convertion

null 0 Mar 18, 2022
JSON to JSON transformation library written in Java.

Jolt JSON to JSON transformation library written in Java where the "specification" for the transform is itself a JSON document. Useful For Transformin

Bazaarvoice 1.3k Dec 30, 2022
Generate Java types from JSON or JSON Schema and annotates those types for data-binding with Jackson, Gson, etc

jsonschema2pojo jsonschema2pojo generates Java types from JSON Schema (or example JSON) and can annotate those types for data-binding with Jackson 2.x

Joe Littlejohn 5.9k Jan 5, 2023
Essential-json - JSON without fuss

Essential JSON Essential JSON Rationale Description Usage Inclusion in your project Parsing JSON Rendering JSON Building JSON Converting to JSON Refer

Claude Brisson 1 Nov 9, 2021
A 250 lines single-source-file hackable JSON deserializer for the JVM. Reinventing the JSON wheel.

JSON Wheel Have you ever written scripts in Java 11+ and needed to operate on some JSON string? Have you ever needed to extract just that one deeply-n

Roman Böhm 14 Jan 4, 2023
Genson a fast & modular Java <> Json library

Genson Genson is a complete json <-> java conversion library, providing full databinding, streaming and much more. Gensons main strengths? Easy to use

null 212 Jan 3, 2023
Screaming fast JSON parsing and serialization library for Android.

#LoganSquare The fastest JSON parsing and serializing library available for Android. Based on Jackson's streaming API, LoganSquare is able to consiste

BlueLine Labs 3.2k Dec 18, 2022
Reflectionless command line parser

jbock is a command line parser, which uses the same annotation names as JCommander and picocli. However it does not use reflection. It is an annotatio

null 74 Jan 4, 2023
Parser of the table of contents file of the 1C platform syntax helper

Парсер файла оглавления синтакс-помощника платформы 1С Что делает? Парсит вот это: Оглавление представляет собой файл без расширения, лежит в файле sh

null 9 Jan 27, 2022
A Java serialization/deserialization library to convert Java Objects into JSON and back

Gson Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to a

Google 21.7k Jan 8, 2023
A universal types-preserving Java serialization library that can convert arbitrary Java Objects into JSON and back

A universal types-preserving Java serialization library that can convert arbitrary Java Objects into JSON and back, with a transparent support of any kind of self-references and with a full Java 9 compatibility.

Andrey Mogilev 9 Dec 30, 2021
A modern JSON library for Kotlin and Java.

Moshi Moshi is a modern JSON library for Android and Java. It makes it easy to parse JSON into Java objects: String json = ...; Moshi moshi = new Mos

Square 8.7k Dec 31, 2022
Sawmill is a JSON transformation Java library

Update: June 25, 2020 The 2.0 release of Sawmill introduces a breaking change to the GeoIpProcessor to comply with the updated license of the MaxMind

Logz.io 100 Jan 1, 2023
A reference implementation of a JSON package in Java.

JSON in Java [package org.json] Click here if you just want the latest release jar file. Overview JSON is a light-weight language-independent data int

Sean Leary 4.2k Jan 6, 2023
A JSON Schema validation implementation in pure Java, which aims for correctness and performance, in that order

Read me first The current version of this project is licensed under both LGPLv3 (or later) and ASL 2.0. The old version (2.0.x) was licensed under LGP

Java Json Tools 1.5k Jan 4, 2023
Lean JSON Library for Java, with a compact, elegant API.

mJson is an extremely lightweight Java JSON library with a very concise API. The source code is a single Java file. The license is Apache 2.0. Because

Borislav Iordanov 77 Dec 25, 2022