Github地址
Gitee地址
easyjson
Provides a unified JSON access API, you can adapter any JSON library to Gson, Jackson, FastJson with easyjson.
Modules
- easyjson-core: 这是个核心模块,可以直接去用这个模块的API,就像使用slf4j的logger API一样。
 - easyjson-XXX: 使用它可以将其他的JSON库适配给XXX,由XXX来做具体的json操作。 
  
- easyjson-gson: 使用它可以将其他的JSON库适配给Gson
 - easyjson-jackson: 使用它可以将其他的JSON库适配给Jackson
 - easyjson-fastjson: 使用它可以将其他的JSON库适配给 Fastjson
 
 - XXXX-to-easyjson: 有很多这样的模块,它们是用于将xxx JSON库通过easyjson-core,适配给底层JSON实现库。 
  
- fast-to-easyjson: 使用它可以将其他的安卓下的org.json库通过easyjson适配给 gson, jackson
 - android-to-easyjson: 使用它可以将其他的Android下的org.json库通过easyjson适配给fastjson, gson, jackson
 - boonjson-to-easyjson: 使用它可以将安卓下的boon-json(io.advantageous.boon.json)库通过easyjson适配给fastjson, gson, jackson
 - jsonlib-to-easyjson: 使用它可以将json-lib (net.sf.json)通过easyjson适配给fastjson, gson, jackson
 - jsonsmart-to-easyjson: 使用它可以将json-smart (net.minidev.json)通过easyjson适配给fastjson, gson, jackson
 - minimaljson-to-easyjson: 使用它可以将minimal-json (com.eclipsesource.json)通过easyjson适配给fastjson, gson, jackson
 - moshi-to-easyjson: 使用它可以将moshi-json (com.squareup.moshi)通过easyjson适配给fastjson, gson, jackson
 - orgjson-to-easyjson: 使用它可以将org.json通过easyjson适配给fastjson, gson, jackson
 - progsbase-to-easyjson: 使用它可以将progsbase json通过easyjson适配给fastjson, gson, jackson
 - simplejson-to-easyjson: 使用它可以将json-simple通过easyjson适配给fastjson, gson, jackson
 
 - easyjson-examples: test cases
 - easyjson-test: test cases v2
 
Usage
Key Features
- Supports gson, fastjson, jackson, Progsbase ...
 - Supports tree model, stream model
 - Control whether serialize null
 - Convert ON|OFF, 1|0 to Boolean
 - Serialize or deserialize a Enum based on custom field
 - Serialize or deserialize a Date using specified pattern | date format
 - Supports custom exclusion rule, for examples: @Ignore, transient, specified modifier ...
 - Get the JSONBuilder with zero configuration
 - Switch the underlying implement without any code change
 - Supports JDK 1.6+
 
Quick Start
installation
| easyjson facade | JSON Implementation | 
|---|---|
 <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>easyjson-core</artifactId>
    <version>${version}/version>
</dependency>
                  |  
    <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>easyjson-gson</artifactId>
    <version>${version}/version>
</dependency>
                 <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>easyjson-jackson</artifactId>
    <version>${version}/version>
</dependency>
                 <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>easyjson-fastjson</artifactId>
    <version>${version}/version>
</dependency>
                  |  
  
| JSON Library | Maven | version | Adapter | 
|---|---|---|---|
| Android json |  <dependency>
    <groupId>com.vaadin.external.google</groupId>
    <artifactId>android-json</artifactId>
    <version>0.0.20131108.vaadin1</version>
</dependency>
                  |  
   0.0.20131108.vaadin |  <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>android-to-easyjson</artifactId>
    <version>${version}</version>
</dependency>
                  |  
  
| fastjson |  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.58</version>
</dependency>
                  |  
   1.2.58 |  <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>fastjson-to-easyjson</artifactId>
    <version>${version}</version>
</dependency>
                  |  
  
| json-lib |  <dependency>
    <groupId>com.hynnet</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
</dependency>
                  |  
   2.4 |  <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>jsonlib-to-easyjson</artifactId>
    <version>${version}</version>
</dependency>
                  |  
  
| json-smart |  <dependency>
    <groupId>net.minidev</groupId>
    <artifactId>json-smart</artifactId>
    <version>2.3</version>
</dependency>
                  |  
   2.3 |  <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>jsonsmart-to-easyjson</artifactId>
    <version>${version}</version>
</dependency>
                  |  
  
| Eclipse minimal-json |  <dependency>
    <groupId>com.eclipsesource.minimal-json</groupId>
    <artifactId>minimal-json</artifactId>
    <version>0.9.5</version>
</dependency>
                  |  
   0.9.5 |  <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>minimaljson-to-easyjson</artifactId>
    <version>${version}</version>
</dependency>
                  |  
  
| org.json |  <dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20180813</version>
</dependency>
                  |  
   20180813 |  <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>orgjson-to-easyjson</artifactId>
    <version>${version}</version>
</dependency>
                  |  
  
| Progsbase JSON |  <dependency>
    <groupId>com.progsbase.libraries</groupId>
    <artifactId>JSON</artifactId>
    <version>0.3.9</version>
</dependency>
                  |  
   0.3.9 |  <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>progsbase-to-easyjson</artifactId>
    <version>${version}</version>
</dependency>
                  |  
  
| json-simple |  <dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>
                  |  
   1.1.1 |  <dependency>
    <groupId>com.github.fangjinuo.easyjson</groupId>
    <artifactId>simplejson-to-easyjson</artifactId>
    <version>${version}</version>
</dependency>
                  |  
  
| Boon-json |         <dependency>
            <groupId>com.github.advantageous</groupId>
            <artifactId>boon-json</artifactId>
            <version>0.5.7-RC1</version>
        </dependency>
                 |  
   0.5.7-RC1 |         <dependency>
            <groupId>com.github.fangjinuo.easyjson</groupId>
            <artifactId>boonjson-to-easyjson</artifactId>
            <version>${version}</version>
        </dependency>
                 |  
  
| Moshi |         <dependency>
            <groupId>com.squareup.moshi</groupId>
            <artifactId>moshi</artifactId>
            <version>1.9.2</version>
        </dependency>
                 |  
   1.8.6+ |         <dependency>
            <groupId>com.github.fangjinuo.easyjson</groupId>
            <artifactId>moshi-to-easyjson</artifactId>
            <version>${version}</version>
        </dependency>
                 |  
  
How to:
@see easyjson-examples testcases
Contact:
如果遇到问题,可以在Github, Gitee 上提出issue, 也可以在QQ群里询问。
推广
- langx 系列 
  
- langx-js:TypeScript, JavaScript tools
 - langx-java: Java tools ,可以替换guava, apache commons-lang,io, hu-tool等
 
 - easyjson: 一个通用的JSON库门面,可以无缝的在各个JSON库之间切换,就像slf4j那样。
 - sqlhelper: SQL工具套件(通用分页、DDL Dump、SQLParser、URL Parser、批量操作工具等)。
 - esmvc: ElasticSearch 通用客户端,就像MyBatis Mapper那样顺滑
 - redisclient: 基于Spring RestTemplate提供的客户端
 - audit:通用的Java应用审计框架
 
鸣谢
最后,感谢 Jetbrains 提供免费License,方便了开源项目的发展。


