我正在尝试使用 Jackson2 将 JSON 映射到 POJO 作为我的 REST 方法。我的 POJO 中的 DueDate 属性是 java.util.date 类型。我读到杰克逊会默认将 JSON 反序列化为时间戳。我只想要这种行为。但是,在我的情况下,Jackson 正在将 DueDate 属性转换为 Date。任何人都可以帮助我如何让 Jackson 将DueDate反序列化为 timestamp。JSON在这里...{ "atr1": null, "atr2": null, "dueDate": "2018-07-11" }POJO在这里..public class Sample { private String atr1; private String atr1; private Date dueDate;}REST API ... public Response create(String json) { ObjectMapper mapper = new ObjectMapper(); Sample sample1 = mapper.readValue(json,Sample.class); }谢谢更多细节...从实际UI对象调用方法时DueDate的值类型为Timestamp目的但是,当将 JSON 传递给 REST 以进行方法调用时,类型更改为Date。
2 回答
三国纷争
TA贡献1804条经验 获得超7个赞
您可以java.sql.timestamp在 pojo 中使用而不是java.util.Date.
import java.sql.Timestamp;
public class sample {
private String atr1;
private String atr2;
private Timestamp dueDate;
}
您可以像上面一样访问日期时间戳。我还制作了用于确认的代码片段,如下所示。
public static void main( String[] args ) throws JsonParseException, JsonMappingException, IOException
{
String json = "{ \"atr1\": null, \"atr2\": null, \"dueDate\": \"2018-07-11\" }";
ObjectMapper mapper = new ObjectMapper();
sample sample1 = mapper.readValue(json, sample.class);
System.out.println(sample1.getDueDate());
}
以上输出:- 2018-07-11 05:30:00.0
添加回答
举报
0/150
提交
取消