加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 尝试解析json时的NoSuchFieldError“ADJUST_DATES_TO_CO

发布时间:2020-12-15 02:19:10 所属栏目:Java 来源:网络整理
导读:我想使用jackson将包含日期的json字符串转换为jodaTime的DateTime.不幸的是我收到了这个错误 java.lang.NoSuchFieldError: ADJUST_DATES_TO_CONTEXT_TIME_ZONE json对象如下所示: {"add_time": "2017-04-26 14:26:58",} 我在我的pom.xml中包含了joda time和
我想使用jackson将包含日期的json字符串转换为jodaTime的DateTime.不幸的是我收到了这个错误

java.lang.NoSuchFieldError: ADJUST_DATES_TO_CONTEXT_TIME_ZONE

json对象如下所示:

{
"add_time": "2017-04-26 14:26:58",}

我在我的pom.xml中包含了joda time和jackson:

<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,但它没有帮助.

解决方法

您需要指定自定义日期时间格式,因为JSON中的格式不是杰克逊所期望的格式.您可以通过字段或setter方法上的@JsonFormat注释轻松完成此操作(无需禁用ADJUST_DATES_TO_CONTEXT_TIME_ZONE).例如.

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
DateTime addTime;

您的示例中的日期将被解析为2017-04-26T14:26:58.000Z.顺便说一下,杰克逊期望的默认格式.

如果您不想添加注释但是更复杂,您可以查看自定义反序列化器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读