Awesome Open Source
Awesome Open Source

JSON

License

Build Status Codacy Badge

gson fastjson jackson

JDK

Github地址

Gitee地址

maven

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操作。
    1. easyjson-gson: 使用它可以将其他的JSON库适配给Gson
    2. easyjson-jackson: 使用它可以将其他的JSON库适配给Jackson
    3. easyjson-fastjson: 使用它可以将其他的JSON库适配给 Fastjson
  • XXXX-to-easyjson: 有很多这样的模块,它们是用于将xxx JSON库通过easyjson-core,适配给底层JSON实现库。
    1. fast-to-easyjson: 使用它可以将其他的安卓下的org.json库通过easyjson适配给 gson, jackson
    2. android-to-easyjson: 使用它可以将其他的Android下的org.json库通过easyjson适配给fastjson, gson, jackson
    3. boonjson-to-easyjson: 使用它可以将安卓下的boon-json(io.advantageous.boon.json)库通过easyjson适配给fastjson, gson, jackson
    4. jsonlib-to-easyjson: 使用它可以将json-lib (net.sf.json)通过easyjson适配给fastjson, gson, jackson
    5. jsonsmart-to-easyjson: 使用它可以将json-smart (net.minidev.json)通过easyjson适配给fastjson, gson, jackson
    6. minimaljson-to-easyjson: 使用它可以将minimal-json (com.eclipsesource.json)通过easyjson适配给fastjson, gson, jackson
    7. moshi-to-easyjson: 使用它可以将moshi-json (com.squareup.moshi)通过easyjson适配给fastjson, gson, jackson
    8. orgjson-to-easyjson: 使用它可以将org.json通过easyjson适配给fastjson, gson, jackson
    9. progsbase-to-easyjson: 使用它可以将progsbase json通过easyjson适配给fastjson, gson, jackson
    10. simplejson-to-easyjson: 使用它可以将json-simple通过easyjson适配给fastjson, gson, jackson
  • easyjson-examples: test cases
  • easyjson-test: test cases v2

Usage

Key Features

  1. Supports gson, fastjson, jackson, Progsbase ...
  2. Supports tree model, stream model
  3. Control whether serialize null
  4. Convert ON|OFF, 1|0 to Boolean
  5. Serialize or deserialize a Enum based on custom field
  6. Serialize or deserialize a Date using specified pattern | date format
  7. Supports custom exclusion rule, for examples: @Ignore, transient, specified modifier ...
  8. Get the JSONBuilder with zero configuration
  9. Switch the underlying implement without any code change
  10. 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}
</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群里询问。

QQ Group: 750929088
QQ Group

推广

  • 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,方便了开源项目的发展。

Jetbrains


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
java (30,349
api (1,614
json (1,131
jackson (36
gson (34
facade (15
fastjson (15

Find Open Source By Browsing 7,000 Topics Across 59 Categories