package com.se.system.utils; 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.List; import java.util.Map; @SuppressWarnings("ALL") public class JsonUtils { 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 JsonUtils() { } public static String objectToJson(Object data) { try { return OM.writeValueAsString(data); } catch (JsonProcessingException var2) { var2.printStackTrace(); return null; } } 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 jsonToPojo(String jsonData, Class beanType) { try { return OM.readValue(jsonData, beanType); } catch (Exception var3) { var3.printStackTrace(); return null; } } public static List jsonToList(String jsonData, Class 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 parseMap(String jsonStr) throws IOException { return (Map) OM.readValue(jsonStr, Map.class); } public static List parseList(String jsonStr) throws IOException { return (List) OM.readValue(jsonStr, new TypeReference>() { }); } }