From cb78538c01ac13aa9b4b5b9969cf3ceb4adba73c Mon Sep 17 00:00:00 2001
From: maxf <1107047387@qq.com>
Date: Thu, 20 Dec 2018 13:14:01 +0800
Subject: [PATCH] =?UTF-8?q?1.2.5=20JsonUtil=20=E6=94=AF=E6=8C=81Map?=
=?UTF-8?q?=E6=B3=9B=E5=9E=8B=E8=BD=AC=E6=8D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
UPDATE.md | 7 +++
pom.xml | 2 +-
.../java/com/yexuejc/base/util/JsonUtil.java | 59 +++++++++++++++++--
4 files changed, 62 insertions(+), 8 deletions(-)
diff --git a/README.md b/README.md
index c6f19de..66a87b2 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@
### 使用
->yexuejc.base.version=1.2.4
+>yexuejc.base.version=1.2.5
pom.xml
```
diff --git a/UPDATE.md b/UPDATE.md
index 7b34301..3d98d3b 100644
--- a/UPDATE.md
+++ b/UPDATE.md
@@ -1,6 +1,13 @@
yexuejc-base 更新记录
------------------
+#### version :1.2.5
+**time:2018-12-20 13:13:23**
+**branch:** master
+**update:**
+>1. 丰富[JsonUtil](src/main/java/com/yexuejc/base/util/JsonUtil.java),支持直接对Map泛型转换
+
+#
#### version :1.2.4
**time:2018-11-27 14:46:04**
**branch:** master
diff --git a/pom.xml b/pom.xml
index 9e7e257..1ac8939 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.yexuejc.base
yexuejc-base
- 1.2.4
+ 1.2.5
${project.artifactId}
diff --git a/src/main/java/com/yexuejc/base/util/JsonUtil.java b/src/main/java/com/yexuejc/base/util/JsonUtil.java
index 5ca30e9..479288b 100644
--- a/src/main/java/com/yexuejc/base/util/JsonUtil.java
+++ b/src/main/java/com/yexuejc/base/util/JsonUtil.java
@@ -5,9 +5,11 @@ import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.*;
+import com.fasterxml.jackson.databind.type.MapType;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Map;
/**
* json工具类,基于jackson
@@ -95,12 +97,13 @@ public class JsonUtil {
return pojo;
}
+
/**
* Json字符串转换为Java对象
*
- * @param json
- * @param parametrized
- * @param parameterClasses
+ * @param json 字符串
+ * @param parametrized 容器类
+ * @param parameterClasses 实际类
* @return
*/
public static T json2Obj(String json, Class parametrized, Class>... parameterClasses) {
@@ -116,12 +119,56 @@ public class JsonUtil {
return pojo;
}
+ /**
+ * Json字符串转换为Java-Map对象
+ *
+ * @param json 字符串
+ * @param mapClass Map 继承类
+ * @param keyClass Key 类
+ * @param valueClass Value 类
+ * @param
+ * @return
+ */
+ public static T json2Obj(String json, Class extends Map> mapClass, Class> keyClass, Class> valueClass) {
+ T pojo = null;
+ MapType mapType = objectMapper.getTypeFactory().constructMapType(mapClass, keyClass, valueClass);
+ try {
+ pojo = objectMapper.readValue(json, mapType);
+ } catch (JsonParseException e) {
+ } catch (JsonMappingException e) {
+ } catch (IOException e) {
+ }
+ return pojo;
+ }
+
+ /**
+ * Json字符串转换为Java-Map对象
+ *
+ * @param json 字符串
+ * @param mapClass Map 继承类
+ * @param keyType Key 类
+ * @param valueType Value 类
+ * @param
+ * @return
+ */
+ public static T json2Obj(String json, Class extends Map> mapClass, JavaType keyType, JavaType valueType) {
+ T pojo = null;
+ MapType mapType = objectMapper.getTypeFactory().constructMapType(mapClass, keyType, valueType);
+ try {
+ pojo = objectMapper.readValue(json, mapType);
+ } catch (JsonParseException e) {
+ } catch (JsonMappingException e) {
+ } catch (IOException e) {
+ }
+ return pojo;
+ }
+
/**
* Json字符串转换为Java对象
*
- * @param json
- * @param parametrized
- * @param parameterClasses
+ * @param json 字符串
+ * @param parametrized 容器类
+ * @param parameterClasses 实际类
* @return
*/
public static T json2Obj(InputStream json, Class parametrized, Class>... parameterClasses) {