|
|
@@ -1,118 +0,0 @@
|
|
|
-package org.springblade.common.utils;
|
|
|
-
|
|
|
-import com.fasterxml.jackson.core.JsonParser;
|
|
|
-import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
-import com.fasterxml.jackson.databind.JavaType;
|
|
|
-import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
-import com.fasterxml.jackson.databind.json.JsonMapper;
|
|
|
-import com.fasterxml.jackson.databind.module.SimpleModule;
|
|
|
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
|
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
|
-import org.springblade.common.aop.bean.DecryptBodyDTO;
|
|
|
-import org.springblade.common.config.ApiEncryptConfig;
|
|
|
-
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-
|
|
|
-/**
|
|
|
- * @date: 2021/6/7 15:46
|
|
|
- * @Author: AaronXu
|
|
|
- * @Description: json工具类
|
|
|
- */
|
|
|
-public class JsonUtils {
|
|
|
-
|
|
|
- // 定义jackson对象
|
|
|
- private static final ObjectMapper MAPPER;
|
|
|
-
|
|
|
- static {
|
|
|
- MAPPER = JsonMapper.builder()
|
|
|
-// 忽略不能转移的参数
|
|
|
- .configure(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER, true)
|
|
|
- .build();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 将对象转换成json字符串。
|
|
|
- * <p>Title: pojoToJson</p>
|
|
|
- * <p>Description: </p>
|
|
|
- *
|
|
|
- * @param data
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String objectToJson(Object data) {
|
|
|
- try {
|
|
|
- String string = MAPPER.writeValueAsString(data);
|
|
|
- return string;
|
|
|
- } catch (JsonProcessingException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 将json结果集转化为对象
|
|
|
- *
|
|
|
- * @param jsonData json数据
|
|
|
- * @param beanType 对象中的object类型
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
|
|
|
- try {
|
|
|
- T t = MAPPER.readValue(jsonData, beanType);
|
|
|
- return t;
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- public static <T> T decryptJsonToPojo(String jsonData, Class<T> beanType) {
|
|
|
- try {
|
|
|
- T t;
|
|
|
- if (ApiEncryptConfig.requestStatic) {//解密后操作 解密前端传输套多一层{data:value}
|
|
|
- DecryptBodyDTO decryptBodyDTO = MAPPER.readValue(jsonData, DecryptBodyDTO.class);
|
|
|
- String data = AESEncryptUtil.decrypt(decryptBodyDTO.getData());
|
|
|
- t = MAPPER.readValue(data, beanType);
|
|
|
- } else {
|
|
|
- t = MAPPER.readValue(jsonData, beanType);
|
|
|
- }
|
|
|
- return t;
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 将json数据转换成pojo对象list
|
|
|
- * <p>Title: jsonToList</p>
|
|
|
- * <p>Description: </p>
|
|
|
- *
|
|
|
- * @param jsonData
|
|
|
- * @param beanType
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static <T> List<T> jsonToList(String jsonData, Class<T> beanType) {
|
|
|
- JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
|
|
|
- try {
|
|
|
- List<T> list = MAPPER.readValue(jsonData, javaType);
|
|
|
- return list;
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- public static Map<String, Object> jsonToMap(String json) {
|
|
|
- try {
|
|
|
- return jsonToPojo(json, Map.class);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
-}
|