我正在尝试将包含OffsetDateTime类型字段的JSON反序列化为对象:
public class Appeal {
@JsonProperty("createTime")
private OffsetDateTime createTime;
为了实现这个目的,我使用JavaTimeModule支持来配置我的ObjectMapper:
public class JsonObjectMapper extends ObjectMapper {
private static ObjectMapper objectMapper = new JsonObjectMapper();
private JsonObjectMapper() {
objectMapper = createObjectMapper();
}
private ObjectMapper createObjectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
return objectMapper;
}
public static ObjectMapper getMapper() {
return objectMapper;
}
}
但我收到了以下异常:
java.lang.NoSuchMethodError: 'boolean com.fasterxml.jackson.databind.SerializationConfig.hasExplicitTimeZone()'
at com.fasterxml.jackson.datatype.jsr310.ser.InstantSerializerBase.formatValue(InstantSerializerBase.java:144) ~[jackson-datatype-jsr310-2.12.1.jar!/:2.12.1]
createObjectMapper()
并拥有一个空构造函数,这样这个类就不需要扩展ObjectMapper了。 - k314159