首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jackson2.3.2:尽管将日期格式设置为ObjectMapper,但反序列化日期仍有问题

Jackson2.3.2:尽管将日期格式设置为ObjectMapper,但反序列化日期仍有问题
EN

Stack Overflow用户
提问于 2014-09-11 17:09:57
回答 1查看 17.4K关注 0票数 7

我使用rest轻松,并希望序列化和反序列化日期。

创建json提供程序后,序列化工作正常,但反序列化仍然不起作用。

我的JsonProvider课程:

代码语言:javascript
复制
@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

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

我偶然发现了this的解决方案,但是如果我使用它,我就必须注释我的应用程序中的每个日期字段,我觉得这是一种开销。

我不知道我做错了什么。

任何帮助都将不胜感激。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-11-26 19:41:06

我犯了同样的错误,这解决了我的问题

mapper.setDateFormat(myDateFormat)

http://wiki.fasterxml.com/JacksonFAQDateHandling

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25793322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档