【发布时间】:2013-07-28 21:31:35
【问题描述】:
我正在使用 Jersey+Jackson 开发 REST api。
我想转换 JSON --> POJO。
我的 Pojo 类有一个名为 'created' 的 Date 字段。
在字符串 'jsonUser' 我有我的 Pojo 的 json 表示。
现在当我使用以下代码将 JSON 表示转换为 Pojo 对象时:
ObjectMapper mapper = new ObjectMapper();
Pojo oldUser = mapper.readValue(jsonUser, Pojo.class);
我收到以下错误:
Exception: Can not construct instance of java.sql.Timestamp from String value '2013-07-29 11:41:00.0': not a valid representation
Jackson 无法反序列化 String 表示为Date 对象。
我如何配置 Jackson 来做到这一点?
【问题讨论】:
-
“我怎样才能告诉杰克逊这样做?”那很好笑!!在你的 pojo 中提交的 Date 的数据类型是什么?
-
@Sandiip Patil 它是 java.lang.Date
-
试试 java.util.Date。我有类似的 pojo,我被转换,然后从 JSON 中重新收集,它对我来说很好。
-
另外,在将时间设置为字段时,您使用的是什么?我的意思是你设置系统时间?你是怎么设置的?
-
好的,谢谢,现在就试试。
标签: java date jackson deserialization pojo