[英]jackson timestamp mapping bug?
我从移动客户端获取数据作为json文件。
但是,如果仅是时间戳记,则通常无法接收数据。 最后,截断的3位数字。
所以日期是完全错误的。
这是我的资料。
json档案
{
"startPhotoAddress": "Great Ocean Road, Hordern Vale",
"createTimeStamp": "1356998400",
"startPhotoTimeStamp": "1356998430"
}
在控制器中
@RequestMapping(value = "/moment", method = RequestMethod.POST, headers = "Accept=application/json")
public @ResponseBody JsonNode setMomentJson(HttpServletRequest request, @RequestBody Moment moment){
在模型中
import java.sql.Timestamp;
public class Moment{
private Timestamp createTimeStamp;
public Timestamp getCreateTimeStamp() {
return createTimeStamp;
}
public void setCreateTimeStamp(Timestamp createTimeStamp) {
this.createTimeStamp = createTimeStamp;
}
}
我得到createTimeStamp:1970-01-17 01:56:38.4
它仅使用createTimeStamp的1356998400中的1356998。
如果收到字符串,则不成问题。
拜托,这是什么问题? 在此先感谢您的帮助。
如果您以秒而不是毫秒为单位接收时间戳值,则可以使setter接受长型并将输入值乘以1000,然后通过调用构造函数来创建Timestamp实例。 像这样:
public class Moment{
private Timestamp createTimeStamp;
public Timestamp getCreateTimeStamp() {
return createTimeStamp;
}
public void setCreateTimeStamp(long createTimeStamp) {
this.createTimeStamp = new Timestamp(createTimeStamp * 1000);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.