解析7个字符毫秒的日期时,Jackson的ObjectMapper失败了

时间:2014-04-09 12:19:17

标签: json jackson

我目前正在遇到上面的标题,这就是我正在做的事情:

我们有一个.net应用程序,它将json格式化程序字符串消息发送到总线。以“2014-04-07T15:20:40.7439627Z”格式成功检索消息,因为您可以看到毫秒段的长度为7个字符(通常我们有3个字符)。

问题是使用来自jackson库的ObjectMapper,解析/转换失败。上面的例子生成:Mon Apr 07 19:24:39 CEST 2014。

此外,我们确信这不是时区问题,因为当我们使用只有3个字符的毫秒值时,它就可以了。

不幸的是,我无法从源代码中更改格式,所以我被卡住了。

有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我能够通过首先使用jaxb绑定将XmlGregorianCalendar转换为Date对象并使用来自jackson库的objectMapper模块的自定义序列化器来解决此问题。我在这里解释了我的解决方案: http://czetsuya-tech.blogspot.fr/2014/04/create-custom-json-string-deserializer.html