java - jsckson - 深拷贝时 java 8 LocalDateTime 报错解决
1.报错
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime` not supported by
default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling at [Source

已经提示了,jackson 不支持 java8的 LocalDateTime 类型
需要引入依赖添加模块
2.解决
引入依赖
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.13.0</version>
</dependency>
在使用时需要引入该模块即可
【注意,必须使用jackson转json的字符串才可以使用jsckson恢复为对象,否则会报错,如果没有java 8 的 LocalDateTime类型,则可以与其他插件工具混用,如 gson】
封装的json工具
private static final ObjectMapper objectMapper = new ObjectMapper(); static { objectMapper.registerModule(new JavaTimeModule()); } //使用jaskon转换为json串 public static String beanToJsonByJaskon(Object object) { if (null == object) { return null; } try { return objectMapper.writeValueAsString(object); } catch (Exception e) { return null; } } public static <T> T jsonToBean(String string, Class<T> clazz) { if (null == string) { return null; } try { return objectMapper.readValue(string, clazz); } catch (Exception e) { return null; } }
3.使用
我一般将其写在实体里,写一个clone的方法

对 实例对象直接调用即可

本文来自博客园,作者:岑惜,转载请注明原文链接:https://www.cnblogs.com/c2g5201314/p/16666718.html
响应开源精神相互学习,内容良币驱除劣币

浙公网安备 33010602011771号