From edc9a6674eb9b40e33a74c5f022d279712ed3b7c Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 30 十二月 2024 17:01:13 +0800
Subject: [PATCH] 添加许可工具

---
 se-modules/se-system/src/main/java/com/se/system/utils/JsonUtils.java |   78 +++++++++++++++++++++++++++-----------
 1 files changed, 55 insertions(+), 23 deletions(-)

diff --git a/se-modules/se-system/src/main/java/com/se/system/utils/JsonUtils.java b/se-modules/se-system/src/main/java/com/se/system/utils/JsonUtils.java
index 6b80fd0..92bb592 100644
--- a/se-modules/se-system/src/main/java/com/se/system/utils/JsonUtils.java
+++ b/se-modules/se-system/src/main/java/com/se/system/utils/JsonUtils.java
@@ -1,42 +1,74 @@
 package com.se.system.utils;
 
-import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.ObjectMapper;
-
 import java.io.IOException;
-import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 @SuppressWarnings("ALL")
 public class JsonUtils {
-    @SuppressWarnings("unchecked")
-    public static LinkedHashMap<String, Object> json2Map(String json) throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
-        return mapper.readValue(json, LinkedHashMap.class);
+    public static final ObjectMapper OM = new ObjectMapper();
+
+    static {
+        OM.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        OM.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
+        OM.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
+        OM.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
+        OM.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
     }
 
-    public static String map2Json(Object obj) throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
-        return mapper.writeValueAsString(obj);
+    public JsonUtils() {
     }
 
-    @SuppressWarnings("unchecked")
-    public static List<LinkedHashMap<String, Object>> json2ListMap(String json) throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
-        return mapper.readValue(json, List.class);
+    public static String objectToJson(Object data) {
+        try {
+            return OM.writeValueAsString(data);
+        } catch (JsonProcessingException var2) {
+            var2.printStackTrace();
+            return null;
+        }
     }
 
-    public static <T> T json2Object(String json, Class<T> valueType) throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
-        return mapper.readValue(json, valueType);
+    public static String objectToJsonWithType(Object data, TypeReference typeReference) {
+        try {
+            return OM.writerFor(typeReference).writeValueAsString(data);
+        } catch (JsonProcessingException var3) {
+            var3.printStackTrace();
+            return null;
+        }
     }
 
-    public static <T> T obj2Vo(Object obj, Class<T> valueType) {
-        return JSONObject.parseObject(JSONObject.toJSONString(obj), valueType);
+    public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
+        try {
+            return OM.readValue(jsonData, beanType);
+        } catch (Exception var3) {
+            var3.printStackTrace();
+            return null;
+        }
+    }
+
+    public static <T> List<T> jsonToList(String jsonData, Class<T> beanType) {
+        JavaType javaType = OM.getTypeFactory().constructParametricType(List.class, new Class[]{beanType});
+
+        try {
+            return (List) OM.readValue(jsonData, javaType);
+        } catch (Exception var4) {
+            var4.printStackTrace();
+            return null;
+        }
+    }
+
+    public static Map<String, Object> parseMap(String jsonStr) throws IOException {
+        return (Map) OM.readValue(jsonStr, Map.class);
+    }
+
+    public static List<String> parseList(String jsonStr) throws IOException {
+        return (List) OM.readValue(jsonStr, new TypeReference<List<String>>() {
+        });
     }
 }

--
Gitblit v1.9.3