import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; /** * 通用的全局JSON处理工具类 * * @version $Id$ */ public class JsonUtils { private static ObjectMapper objectMapper = new ObjectMapper(); static { objectMapper = ObjectMapperBuilder.newBuilder() .withDefaultOptions() .withDateTimeModule() .build(); } public static ObjectMapper getGlobalObjectMapper() { return objectMapper; } /** * 把对象转为json字符串 * * @param obj 要转换的对象 可以为null * @return */ public static String toJson(Object obj) { try { return objectMapper.writeValueAsString(obj); } catch (IOException e) { throw new RuntimeException(e); } } /** * 把json字符串转为对象 * * @param json 要转换的字符串 * @param cls 目标实例类名 * @param <T> * @return */ public static <T> T toBean(String json, Class<T> cls) { try { return (T) objectMapper.readValue(json, cls); } catch (Exception e) { throw new RuntimeException(e); } } /** * 把json字符串转为对象,给定类型信息 * * @param json 要装换的字符串 * @param typeReference 类型引用 * @param <T> * @return */ public static <T> T toBean(String json, TypeReference typeReference) { try { return (T) objectMapper.readValue(json, typeReference); } catch (IOException e) { throw new RuntimeException(e); } } }
java jsonUtil
最新推荐文章于 2023-08-29 17:43:18 发布