package com.longjin.comm.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.lang.StringUtils; import java.io.IOException; import java.util.List; /** * @Description :Json转换工具类 * @Author :何志鹏 * @Date : 2020-05-19 14:26 */ public class AllJsonUtils { /** * Json转对象 * * @param jsonObject * @param type * @param <T> * @return */ public static <T> T convertJson2Object(JSONObject jsonObject, Class<T> type) { try { ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); return mapper.readValue(jsonObject.toJSONString(), type); } catch (IOException e) { e.printStackTrace(); } return null; } /** * 对象转JSON * @param obj 待转换对象 * @return */ public static String ObjectToJson(Object obj){ String result=""; if(obj!=null){ ObjectMapper objectMapper=new ObjectMapper(); try { result=objectMapper.writeValueAsString(obj); } catch (JsonProcessingException e) { e.printStackTrace(); } } return result; } /** * JSON转对象 * @param json 待转换JSON * @param type 转换对象 * @param <T> 转换对象 * @return */ public static <T>T jsonToObject(String json, Class<T> type) { if (!StringUtils.isBlank(json)) { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); try { return objectMapper.readValue(json, type); } catch (Exception e) { e.printStackTrace(); } } return null; } /** * List<T> 转 json 保存到数据库 */ public static <T> String listToJson(List<T> ts) { String jsons = JSON.toJSONString(ts); return jsons; } /** * json 转 List<T> */ public static <T> List<T> jsonToList(String jsonString, Class<T> clazz) { @SuppressWarnings("unchecked") List<T> ts = (List<T>) JSONArray.parseArray(jsonString, clazz); return ts; } }