Skip to content

Provides an unified JSON access API, you can adapter any JSON library to Gson, Jackson, FastJson with easyjson。 提供了一个JSON门面库,就像slf4j一样。easyjson本身不做json的操作,完全依赖于底层实现库。可以直接使用Easyjson的API,底层的JSON库随时可切换。也可以使用其中某个json的API,然后通过easyjson适配给其他的json库

License

bes2008/easyjson

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

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: 使用它可以将fastjson库通过easyjson适配给 gson, jackson
    2. gson-to-easyjson: 使用它可以将fastjson库通过easyjson适配给 fastjson, jackson
    3. android-to-easyjson: 使用它可以将其他的Android下的org.json库通过easyjson适配给fastjson, gson, jackson
    4. boonjson-to-easyjson: 使用它可以将安卓下的boon-json(io.advantageous.boon.json)库通过easyjson适配给fastjson, gson, jackson
    5. jsonlib-to-easyjson: 使用它可以将json-lib (net.sf.json)通过easyjson适配给fastjson, gson, jackson
    6. jsonsmart-to-easyjson: 使用它可以将json-smart (net.minidev.json)通过easyjson适配给fastjson, gson, jackson
    7. minimaljson-to-easyjson: 使用它可以将minimal-json (com.eclipsesource.json)通过easyjson适配给fastjson, gson, jackson
    8. moshi-to-easyjson: 使用它可以将moshi-json (com.squareup.moshi)通过easyjson适配给fastjson, gson, jackson
    9. orgjson-to-easyjson: 使用它可以将org.json通过easyjson适配给fastjson, gson, jackson
    10. progsbase-to-easyjson: 使用它可以将progsbase json通过easyjson适配给fastjson, gson, jackson
    11. 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>io.github.bes2008.solutioneasyjson</groupId>
    <artifactId>easyjson-core</artifactId>
    <version>${version}/version>
</dependency>
                
<dependency>
    <groupId>io.github.bes2008.solutioneasyjson</groupId>
    <artifactId>easyjson-gson</artifactId>
    <version>${version}
</dependency>
                
<dependency>
    <groupId>io.github.bes2008.solutioneasyjson</groupId>
    <artifactId>easyjson-jackson</artifactId>
    <version>${version}/version>
</dependency>
                
<dependency>
    <groupId>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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>io.github.bes2008.solutioneasyjson</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

About

Provides an unified JSON access API, you can adapter any JSON library to Gson, Jackson, FastJson with easyjson。 提供了一个JSON门面库,就像slf4j一样。easyjson本身不做json的操作,完全依赖于底层实现库。可以直接使用Easyjson的API,底层的JSON库随时可切换。也可以使用其中某个json的API,然后通过easyjson适配给其他的json库

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages