2
我想将包含日期的json字符串转换为使用jackson的jodaTime的DateTime。不幸的是我得到这个错误NoSuchFieldError“ADJUST_DATES_TO_CONTEXT_TIME_ZONE”尝试解析json
java.lang.NoSuchFieldError: ADJUST_DATES_TO_CONTEXT_TIME_ZONE
JSON对象看起来是这样的:
{
"add_time": "2017-04-26 14:26:58",
}
我已经包含乔达时间和杰克逊在我的pom.xml如下:
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId>
<version>${jackson.version}</version>
</dependency>
杰克逊版是2.8.8。 我已经建立了我的对象映射是这样的:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
有谁知道这个问题可能是什么?我现在坚持了几个小时。我也尝试禁用DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE
但它没有帮助。
你的方法没有帮助。我仍然得到例外。 – Martin
Jackson需要日期时间格式才能解析此日期。你报告的异常说'ADJUST_DATES_TO_CONTEXT_TIME_ZONE'在你正在使用的Jackson版本中不可用。但是你不需要在我的答案中使用这种方法来禁用或启用它。所以你可以删除这个配置,你不会得到这个特殊的异常。如果你需要为其他原因进行配置,那么你必须确认你正在使用Jackson版本> = 2.2 –
我不怀疑你在说什么。我试了一下。我添加了@JsonFormat并删除了禁用ADJUST_DATES_TO_CONTEXT_TIME_ZONE的代码。你的建议可能防止了我在异常解决时得到的错误,但现在我仍然得到这个异常。 – Martin