【问题标题】:Serialization of Java 8 ZonedDateTime with Jackson and JavaTimeModule使用 Jackson 和 JavaTimeModule 对 Java 8 ZonedDateTime 进行序列化
【发布时间】:2015-11-01 00:22:03
【问题描述】:

我正在尝试使用 Jackson 将对象(编组/解组)从 JSON 序列化和反序列化到 JSON。其中一些对象具有 Java 8 LocalDate 和 ZonedDateTime。我在这里读到最好的选择是使用jackson-datatype-jsr310

serialize/deserialize java 8 java.time with Jackson JSON mapper

但是,当我尝试使用它时:

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());

我收到此错误:

java.lang.IllegalAccessError: tried to access method com.fasterxml.jackson.databind.ser.std.StdSerializer.<init>(Ljava/lang/Class;)V from class com.fasterxml.jackson.datatype.jsr310.JavaTimeModule

有什么线索吗?我正在使用 Jackson 2.6.0、jackson-datatype-jsr310 2.6.0 并正在部署到 Tomcat 8。

感谢和问候

【问题讨论】:

    标签: java json serialization jackson java-8


    【解决方案1】:

    最后,由于对 Jongo 的依赖,问题是我有不同版本的 Jackson。 jackson-datatype-jsr310 2.6.0 需要 Jackson 2.6.0,而 Jackson 2.4.1 正在部署中。

    【讨论】:

    • 我遇到了与java.time.LocalDate 相同的问题,并使用相同版本的jackson-corejackson-databind 解决了它。在我的情况下,这两个依赖项都是 2.7.4 版本。
    猜你喜欢
    • 2016-04-25
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多