簡體   English   中英

傑克遜時間戳映射錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM