public class JsonUtil { private JsonUtil(){} private static ObjectMapper objectMapper; static { objectMapper = new ObjectMapper(); JavaTimeModule javaTimeModule = new JavaTimeModule(); objectMapper.registerModule(javaTimeModule); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); } /** * 对象序列化 * @param t 要序列化的对象 * @return <T> */ public static <T> String objectToString(T t) { try { ObjectWriter ow = objectMapper.writer().withDefaultPrettyPrinter(); return ow.writeValueAsString(t); } catch (JsonProcessingException e) { throw new ServiceException(500, "序列化对象出错!"); } } /** * 一般类解析 * @param jsonString jsonString * @param t 要解析类的Class * @return <T> */ public static <T extends Object> T stringToObject(String jsonString, Class<T> t) { try { return objectMapper.readValue(jsonString, t); } catch (IOException e) { throw new ServiceException(500, "反序列化对象出错!"); } } /** * 集合对象反序列化 例 :List<ObjectDTO> * @param jsonString jsonString * @param t 集合中对的Class (ObjectDTO.class) * @return <T> 返回的集合对象类型 */ public static <T extends Collection> T stringToCollection(String jsonString, Class<? extends Object> t) { try { CollectionType javaType = objectMapper.getTypeFactory().constructCollectionType(Collection.class, t); return objectMapper.readValue(jsonString, javaType); } catch (IOException e) { throw new ServiceException(500, "反序列化集合对象出错!"); } }
object 序列化,反序列化(Instant日期处理,集合对象反序列化处理)共通类
最新推荐文章于 2025-03-23 19:00:33 发布