使用Jackson和JavaTimeModule对Java 8 ZonedDateTime进行序列化

时间:2015-08-08 17:26:48

标签: java json serialization jackson java-8

我正在尝试使用Jackson对JSON进行序列化和反序列化对象(marshall / unmarshall)。其中一些对象具有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。

谢谢和最好的问候

1 个答案:

答案 0 :(得分:8)

最后,问题是由于与Jongo的依赖,我有一个不同版本的Jackson。 jackson-datatype-jsr310 2.6.0需要部署Jackson 2.6.0和Jackson 2.4.1。