fangjinuo / Easyjson
Licence: apache-2.0
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库
Stars: ✭ 54
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Easyjson
Datoji
A tiny JSON storage service. Create, Read, Update, Delete and Search JSON data.
Stars: ✭ 222 (+311.11%)
Mutual labels: api, json, fastjson
Bandcamp Api
API wrapper for querying band, album, and track data from bandcamp.com
Stars: ✭ 20 (-62.96%)
Mutual labels: api, json, gson
SerializedNameGen
Auto add or remove json annotation plugin, such as gson SerializedName, fastjson JSONField, jackson JsonProperty. It also support java and kotlin file.
Stars: ✭ 19 (-64.81%)
Mutual labels: gson, jackson, fastjson
Jsontokotlinclass
🚀 Plugin for Android Studio And IntelliJ Idea to generate Kotlin data class code from JSON text ( Json to Kotlin )
Stars: ✭ 2,438 (+4414.81%)
Mutual labels: jackson, gson, fastjson
Jsonschema2pojo
Generate Java types from JSON or JSON Schema and annotate those types for data-binding with Jackson, Gson, etc
Stars: ✭ 5,633 (+10331.48%)
Mutual labels: json, jackson, gson
Fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Stars: ✭ 39,588 (+73211.11%)
Mutual labels: api, json
Apicache
Simple API-caching middleware for Express/Node.
Stars: ✭ 957 (+1672.22%)
Mutual labels: api, json
Pantry
🥑 Free data storage as a service that allows devs to store JSON for multiple apps & users. A good resource when building personal projects, apps for hackathons, and prototypes alike.
Stars: ✭ 42 (-22.22%)
Mutual labels: api, json
Jackson Module Kotlin
Module that adds support for serialization/deserialization of Kotlin (http://kotlinlang.org) classes and data classes.
Stars: ✭ 830 (+1437.04%)
Mutual labels: json, jackson
Realtime Newsapi
Financial News Aggregator - Real Time & Query API for Financial News
Stars: ✭ 34 (-37.04%)
Mutual labels: api, json
Gsonpath
A Java annotation processor library which generates gson type adapters using basic JsonPath style annotations
Stars: ✭ 54 (+0%)
Mutual labels: json, gson
Geochile
Esta es una api de Geocodificación, para que, con las coordenadas Latitud y Longitud se entregue una lista de ciudades cercanas.
Stars: ✭ 13 (-75.93%)
Mutual labels: api, json
Movement
Movement is an easier, simpler way to explore and use NIEM. Want to join the Movement and contribute to it? Start here.
Stars: ✭ 19 (-64.81%)
Mutual labels: api, json
Spyne
A transport agnostic sync/async RPC library that focuses on exposing services with a well-defined API using popular protocols.
Stars: ✭ 992 (+1737.04%)
Mutual labels: api, json
Generator Http Fake Backend
Yeoman generator for building a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 49 (-9.26%)
Mutual labels: api, json
Dito
Dito.js is a declarative and modern web framework with a focus on API driven development, based on Objection.js, Koa.js and Vue.js – Released in 2018 under the MIT license, with support by Lineto.com
Stars: ✭ 44 (-18.52%)
Mutual labels: api, json
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} </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,方便了开源项目的发展。
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].