2016-12-09 70 views
0

我開發了一個Rest API並使用Jackson庫進行Json處理。傑克遜日期反序列化錯誤

在我的POJO中,我定義了一些java.util.Date字段,並且我使用ObjectMapper解析這些日期。

問題是所有的日期都是錯誤的。

下面是從客戶機接收到的示例JSON數據:

{ 
"Date1":"20161208 121500", 
"Date2":"20161205 131515", 
"Date3":"19830201 122718" 
} 

這裏是代碼片斷:

private final SimpleDateFormat df = new SimpleDateFormat("yyyyMMDD hhmmss"); 

ObjectMapper mapper = new ObjectMapper(); 
mapper.setTimeZone(TimeZone.getDefault()); 
mapper.setDateFormat(df); 
MetaData mData = null; 

try {  
    mData = mapper.readValue(metaData, MetaData.class); 
} 
catch(JsonProcessingException jpe) { 
    return Response.status(Status.BAD_REQUEST).build(); 
} 

當創建日期對象,它的關閉的數個月。當我在日誌打印日期,我得到如下:

Date1: 01/08/16 00:15:00 (Original date is 12/08/2016) 
Date2: 01/05/16 13:15:15 (Original date is 12/05/2016) 
Date3: 01/01/83 00:27:18 (Original date is 02/01/1981) 

有人能看到我在做什麼錯:(

非常感謝

回答

0

您有不正確的日期時間模式!這個模式應該是YYYYMM DD HHMMSS。

爲日在一年d'的節和「d」的一個月。

+0

非常感謝!無法相信我錯過編輯說... – user1229404