杰克逊未能将String反序列化为Joda-Time

时间:2018-03-19 10:51:09

标签: java json spring-boot jackson jodatime

我使用Spring Boot 1.5.6和Jackson 2.8.8。在反序列化REST调用的答案时,Jackson失败并出现以下异常:

  

JSON解析错误:无法构造org.joda.time.DateTime的实例:no String-argument构造函数/工厂方法从String值反序列化(' 2018-03-19T12:05:21.885 + 01: 00&#39)

确实没有String构造函数,只有DateTime对象中的Object构造函数。

我在build.gradle文件中包含了jackson-datatype-joda依赖项。这些是build.gradle中的相应行:

compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: jacksonVersion
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: jacksonVersion
compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-hibernate5', version: jacksonVersion
compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-joda', version: jacksonVersion

我需要做任何其他配置吗?

PS:如果我将日期字符串放入new DateTime("2018-03-19T12:05:21.885+01:00"),它可以正常工作。

有什么想法吗?干杯!

2 个答案:

答案 0 :(得分:3)

您是否在JodaModule注册了ObjectMapper模块?

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

答案 1 :(得分:0)

当我在 build.gradle 中添加以下依赖项时,它对我有用

编译组:'com.fasterxml.jackson.datatype',名称:'jackson-datatype-joda'

相关问题