Json Util

The Json Util Integrate Jackson、Gson And Fastjson.

License

License

Categories

Categories

JSON Data
GroupId

GroupId

io.github.yidasanqian
ArtifactId

ArtifactId

json-util
Last Version

Last Version

2.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

Json Util
The Json Util Integrate Jackson、Gson And Fastjson.
Project URL

Project URL

https://github.com/yidasanqian/json-util
Source Code Management

Source Code Management

https://github.com/yidasanqian/json-util/tree/master

Download json-util

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.yidasanqian/json-util/ -->
<dependency>
    <groupId>io.github.yidasanqian</groupId>
    <artifactId>json-util</artifactId>
    <version>2.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.yidasanqian/json-util/
implementation 'io.github.yidasanqian:json-util:2.0.1'
// https://jarcasting.com/artifacts/io.github.yidasanqian/json-util/
implementation ("io.github.yidasanqian:json-util:2.0.1")
'io.github.yidasanqian:json-util:jar:2.0.1'
<dependency org="io.github.yidasanqian" name="json-util" rev="2.0.1">
  <artifact name="json-util" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.yidasanqian', module='json-util', version='2.0.1')
)
libraryDependencies += "io.github.yidasanqian" % "json-util" % "2.0.1"
[io.github.yidasanqian/json-util "2.0.1"]

Dependencies

compile (3)

Group / Artifact Type Version
com.fasterxml.jackson.datatype : jackson-datatype-jsr310 Optional jar 2.11.2
com.google.code.gson : gson Optional jar 2.8.6
com.alibaba : fastjson Optional jar 1.2.73

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

json-util

Maven Central

Json Util Integrate Jackson、Gson And Fastjson

json-util工具类整合了Jackson、Gson和Fastjson库并统一API。

Env

  • JDK8+

Feature

统一调用API,形如toXXX。目前支持的转换的列表:

  • List
  • Map
  • JsonString
  • Pojo

List支持泛型,JsonString支持指定日期格式化,支持对象和Map的互相转换。

Usage

maven

<dependency>
    <groupId>io.github.yidasanqian</groupId>
    <artifactId>json-util</artifactId>
    <version>2.0.1</version>          
</dependency>

选择 jackson、gson and fastjson 其中之一引入 pom.xml:


<properties>
    <jackson.version>specify version</jackson.version>
    <gson.version>specify version</gson.version>
    <fastjson.version>specify version</fastjson.version>
</properties>
<dependencies>
        <!-- use jackson lib-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind-jsr310</artifactId>
            <version>${jackson.version}</version>          
        </dependency>
         <!-- or use gson lib-->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>${gson.version}</version>     
        </dependency>
         <!-- or use fastjson lib-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>      
        </dependency>
    </dependencies>

初始化时可以指定使用的Json库:

JsonUtil.initJson(JsonEnum.FASTJSON);

JsonEnum的值有JACKSON, FASTJSON, GSON

若未指定则自动查找用户引入的Json库(jackson, gson, fastjson),若存在多个则默认使用Jackson作为json解析库。

解析到List的例子:

 String json = "[1, 2, 4, 5]";
 List result = JsonUtil.toList(json);
 
 ...
 json = "[{"id": 1,"username": "yidasanqian"},{"id": 2,"username": "yidasanqian2"}]"
 TypeReference<List<User>> typeReference = new TypeReference<List<User>>() {};
 List<User> result = JsonUtil.toList(json, typeReference.getType());

解析到Map的例子:

String json = "{"id":1, "username":"yidasanqian"}"
TypeReference<Map<String, Object>> typeReference = new TypeReference<Map<String, Object>>() {};
Map result = JsonUtil.toMap(json, typeReference.getType());

Versions

Version
2.0.1
2.0.0
1.2.0
1.0.0