java - jackson 未能将字符串反序列化为 Joda-Time

标签 java json spring-boot jackson jodatime

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

JSON parse error: Can not construct instance of org.joda.time.DateTime: no String-argument constructor/factory method to deserialize from String value ('2018-03-19T12:05:21.885+01:00')



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

我包括了jackson-datatype-joda我的 build.gradle 文件中的依赖项。这些是 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")它工作正常。

有任何想法吗?干杯!

最佳答案

你注册了JodaModule ObjectMapper 中的模块?

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

关于java - jackson 未能将字符串反序列化为 Joda-Time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49361152/

相关文章:

java - 使用自定义数据填充 listView,子类化 BaseAdapter(本主题中的示例)

javascript - 以数组为参数的 Java 和 Javascript 绑定(bind)函数

java - 使用此差异的构造函数参数?

java - 如何返回所有请求的索引页?

java - 在 Java Spring Boot 框架中什么时候使用 @ServerEndpoint 和 @Controller?

java - Docker 中的 Spring Boot 应用程序收到 : Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

Java:当泛型为 <T extends Parent> 时,在父类中转换为泛型类型是否安全?

json - Swift 将 json 数据获取到结构中并填充 pickerViews

jquery - $.ajax 中的某些参数未传递

javascript - js删除提交的表单数据