疯狂的狮子li
2022-01-13 a0bed51d966ab5d161d3fdd5423ba84f59fb60ff
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java
@@ -12,81 +12,82 @@
/**
 * Jackson util
 *
 * <p>
 * 1、obj need private and set/get;
 * 2、do not support inner class;
 *
 *
 * @author xuxueli 2015-9-25 18:02:56
 */
public class JacksonUtil {
   private static Logger logger = LoggerFactory.getLogger(JacksonUtil.class);
    private static Logger logger = LoggerFactory.getLogger(JacksonUtil.class);
    private final static ObjectMapper objectMapper = new ObjectMapper();
    public static ObjectMapper getInstance() {
        return objectMapper;
    }
    /**
     * bean、array、List、Map --> json
     *
     *
     * @param obj
     * @return json string
     * @throws Exception
     */
    public static String writeValueAsString(Object obj) {
       try {
         return getInstance().writeValueAsString(obj);
      } catch (JsonGenerationException e) {
         logger.error(e.getMessage(), e);
      } catch (JsonMappingException e) {
         logger.error(e.getMessage(), e);
      } catch (IOException e) {
         logger.error(e.getMessage(), e);
      }
        try {
            return getInstance().writeValueAsString(obj);
        } catch (JsonGenerationException e) {
            logger.error(e.getMessage(), e);
        } catch (JsonMappingException e) {
            logger.error(e.getMessage(), e);
        } catch (IOException e) {
            logger.error(e.getMessage(), e);
        }
        return null;
    }
    /**
     * string --> bean、Map、List(array)
     *
     *
     * @param jsonStr
     * @param clazz
     * @return obj
     * @throws Exception
     */
    public static <T> T readValue(String jsonStr, Class<T> clazz) {
       try {
         return getInstance().readValue(jsonStr, clazz);
      } catch (JsonParseException e) {
         logger.error(e.getMessage(), e);
      } catch (JsonMappingException e) {
         logger.error(e.getMessage(), e);
      } catch (IOException e) {
         logger.error(e.getMessage(), e);
      }
       return null;
        try {
            return getInstance().readValue(jsonStr, clazz);
        } catch (JsonParseException e) {
            logger.error(e.getMessage(), e);
        } catch (JsonMappingException e) {
            logger.error(e.getMessage(), e);
        } catch (IOException e) {
            logger.error(e.getMessage(), e);
        }
        return null;
    }
   /**
    * string --> List<Bean>...
    *
    * @param jsonStr
    * @param parametrized
    * @param parameterClasses
    * @param <T>
    * @return
    */
   public static <T> T readValue(String jsonStr, Class<?> parametrized, Class<?>... parameterClasses) {
      try {
         JavaType javaType = getInstance().getTypeFactory().constructParametricType(parametrized, parameterClasses);
         return getInstance().readValue(jsonStr, javaType);
      } catch (JsonParseException e) {
         logger.error(e.getMessage(), e);
      } catch (JsonMappingException e) {
         logger.error(e.getMessage(), e);
      } catch (IOException e) {
         logger.error(e.getMessage(), e);
      }
      return null;
   }
    /**
     * string --> List<Bean>...
     *
     * @param jsonStr
     * @param parametrized
     * @param parameterClasses
     * @param <T>
     * @return
     */
    public static <T> T readValue(String jsonStr, Class<?> parametrized, Class<?>... parameterClasses) {
        try {
            JavaType javaType = getInstance().getTypeFactory().constructParametricType(parametrized, parameterClasses);
            return getInstance().readValue(jsonStr, javaType);
        } catch (JsonParseException e) {
            logger.error(e.getMessage(), e);
        } catch (JsonMappingException e) {
            logger.error(e.getMessage(), e);
        } catch (IOException e) {
            logger.error(e.getMessage(), e);
        }
        return null;
    }
}