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;
        }
    }
View Code
复制代码

3.使用

我一般将其写在实体里,写一个clone的方法

 

 

 对 实例对象直接调用即可

 

posted @   岑惜  阅读(5319)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示