# json-util **Repository Path**: yidasanqian/json-util ## Basic Information - **Project Name**: json-util - **Description**: json-util工具类整合了Jackson、Gson和Fastjson库并统一API。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 106 - **Forks**: 22 - **Created**: 2018-01-15 - **Last Updated**: 2024-06-06 ## Categories & Tags **Categories**: json-tools **Tags**: None ## README # json-util [![Maven Central](https://img.shields.io/badge/maven--central-2.0.1-blue.svg)](http://search.maven.org/#artifactdetails%7Cio.github.yidasanqian%7Cjson-util%7C2.0.1%7Cjar) 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 ``` io.github.yidasanqian json-util 2.0.1 ``` 选择 jackson、gson and fastjson 其中之一引入 pom.xml: ``` specify version specify version specify version com.fasterxml.jackson.core jackson-databind-jsr310 ${jackson.version} com.google.code.gson gson ${gson.version} com.alibaba fastjson ${fastjson.version} ``` 初始化时可以指定使用的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> typeReference = new TypeReference>() {}; List result = JsonUtil.toList(json, typeReference.getType()); ``` 解析到`Map`的例子: ``` String json = "{"id":1, "username":"yidasanqian"}" TypeReference> typeReference = new TypeReference>() {}; Map result = JsonUtil.toMap(json, typeReference.getType()); ```