gpt4 book ai didi

json - jackson 2.3.2 : Issue with deserializing a Date despite of setting the date format to ObjectMapper

转载 作者:行者123 更新时间:2023-12-04 12:40:56 25 4
gpt4 key购买 nike

我正在使用 rest easy 并且想要序列化和反序列化日期。

创建我的 json 提供程序后,序列化工作正常,但反序列化仍然无效。

我的 JsonProvider 类:

@Provider
@Produces(MediaType.APPLICATION_JSON)
public class JsonProvider extends JacksonJaxbJsonProvider {

public JsonProvider() {

ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.setDateFormat("dd MMM, yyyy hh:mm:ss a";

super.setMapper(mapper);
}
}

输入日期 : 2014 年 9 月 9 日上午 11:00:00

错误:
com.fasterxml.jackson.databind.exc.InvalidFormatException:无法从字符串值“2014 年 9 月 9 日上午 11:00:00”构造 java.util.Date 的实例: 不是有效的表示 (错误:无法解析日期值 '09 Sep, 2014 11:00:00 AM': 无法解析日期“2014 年 9 月 9 日 11:00:00 AM”:与任何标准不兼容形式 ("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm :ss zzz", "yyyy-MM-dd"))

我遇到了 this解决方法,但如果我使用它,那么我必须注释我的应用程序中的每个日期字段,我觉得这是一个开销。

我无法弄清楚我做错了什么。

任何帮助,将不胜感激。

谢谢。

最佳答案

我遇到了同样的错误,这解决了我的问题
mapper.setDateFormat(myDateFormat)
http://wiki.fasterxml.com/JacksonFAQDateHandling

关于json - jackson 2.3.2 : Issue with deserializing a Date despite of setting the date format to ObjectMapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com