Fangjinuo Easyjson Save

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库

Project README

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

    io.github.bes2008.solutioneasyjson
    easyjson-core
    ${version}/version>

                

    io.github.bes2008.solutioneasyjson
    easyjson-gson
    ${version}

                

    io.github.bes2008.solutioneasyjson
    easyjson-jackson
    ${version}/version>

                

    io.github.bes2008.solutioneasyjson
    easyjson-fastjson
    ${version}/version>

                
JSON Library Maven version Adapter
Android json

    com.vaadin.external.google
    android-json
    0.0.20131108.vaadin1

                
0.0.20131108.vaadin

    io.github.bes2008.solutioneasyjson
    android-to-easyjson
    ${version}

                
fastjson

    com.alibaba
    fastjson
    1.2.58

                
1.2.58

    io.github.bes2008.solutioneasyjson
    fastjson-to-easyjson
    ${version}

                
json-lib

    com.hynnet
    json-lib
    2.4

                
2.4

    io.github.bes2008.solutioneasyjson
    jsonlib-to-easyjson
    ${version}

                
json-smart

    net.minidev
    json-smart
    2.3

                
2.3

    io.github.bes2008.solutioneasyjson
    jsonsmart-to-easyjson
    ${version}

                
Eclipse minimal-json

    com.eclipsesource.minimal-json
    minimal-json
    0.9.5

                
0.9.5

    io.github.bes2008.solutioneasyjson
    minimaljson-to-easyjson
    ${version}

                
org.json

    org.json
    json
    20180813

                
20180813

    io.github.bes2008.solutioneasyjson
    orgjson-to-easyjson
    ${version}

                
Progsbase JSON

    com.progsbase.libraries
    JSON
    0.3.9

                
0.3.9

    io.github.bes2008.solutioneasyjson
    progsbase-to-easyjson
    ${version}

                
json-simple

    com.googlecode.json-simple
    json-simple
    1.1.1

                
1.1.1

    io.github.bes2008.solutioneasyjson
    simplejson-to-easyjson
    ${version}

                
Boon-json
        
            com.github.advantageous
            boon-json
            0.5.7-RC1
        
                
0.5.7-RC1
        
            io.github.bes2008.solutioneasyjson
            boonjson-to-easyjson
            ${version}
        
                
Moshi
        
            com.squareup.moshi
            moshi
            1.9.2
        
                
1.8.6+
        
            io.github.bes2008.solutioneasyjson
            moshi-to-easyjson
            ${version}
        
                

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

Open Source Agenda is not affiliated with "Fangjinuo Easyjson" Project. README Source: bes2008/easyjson
Stars
112
Open Issues
15
Last Commit
1 year ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating