Jelajahi Sumber

添加json工具类

tianyunperfect 5 tahun lalu
induk
melakukan
430b3f3bcf
1 mengubah file dengan 53 tambahan dan 0 penghapusan
  1. 53 0
      common/src/main/java/com/alvin/common/util/JsonUtil.java

+ 53 - 0
common/src/main/java/com/alvin/common/util/JsonUtil.java

@@ -0,0 +1,53 @@
+package com.alvin.common.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.google.gson.Gson;
+
+
+/**
+ * json工具类
+ * https://www.yuque.com/tianyunperfect/ygzsw4/bv1mlg
+ * <p>
+ * JsonUtil.toObject(str,JsonHello.class)
+ * JSON.parseObject(str2, new TypeReference<List<MyDay>>(){})
+ * JSON.parseObject(str2, new TypeReference<JsonHello<Hello>>(){})
+ *
+ * @author tianyunperfect
+ * @date 2020/05/20
+ */
+public class JsonUtil {
+
+    /**
+     * 转换为json字符串
+     *
+     * @param object 对象
+     * @return {@link String}
+     */
+    public static String toJsonStr(Object object) {
+        return new Gson().toJson(object);
+    }
+
+
+    /**
+     * 将json字符串 转换为 普通类
+     *
+     * @param jsonStr json str
+     * @param clazz   clazz
+     * @return {@link T}
+     */
+    public static <T> T toObject(String jsonStr, Class<T> clazz) {
+        return JSON.parseObject(jsonStr, clazz);
+    }
+
+    /**
+     * 将json字符串 转换为 泛型类、集合等
+     *
+     * @param jsonStr        json str
+     * @param tTypeReference t型参考
+     * @return {@link T}
+     */
+    public static <T> T toObject(String jsonStr, TypeReference<T> tTypeReference) {
+        return JSON.parseObject(jsonStr, tTypeReference);
+    }
+}