java 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')
确实没有字符串构造函数,只有DateTime
对象中的对象构造函数
我在构建中包含了jackson-datatype-joda
依赖项。格雷德尔档案。这些是构建中的相应行。格拉德尔:
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")
中,它就可以正常工作
有什么想法吗?干杯
# 1 楼答案
当我在build中添加以下依赖项时,它对我起到了作用。格拉德尔
编译组:com。fasterxml。杰克逊。数据类型,名称:“jackson数据类型joda”
# 2 楼答案
您是否在
ObjectMapper
中注册了JodaModule
模块