2016-12-09 7 views
0

Ich habe eine Rest API entwickelt und Jackson-Bibliothek für Json-Verarbeitung verwenden.Jackson Datum Deserialisierung falsch

In meinem POJO habe ich einige java.util.Date Felder definiert und ich analysiere diese Daten mit ObjectMapper.

Problem ist, dass alle Termine als falsch kommen.

Hier Beispiel Json Daten von Client empfangen:

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

Hier ist Code-Schnipsel:

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(); 
} 

Wenn Date-Objekt erstellt wird, sein off von wenigen Monaten. Wenn ich die Daten in Protokoll drucken, erhalte ich folgendes:

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) 

Kann jemand sehen, was mache ich falsch :(

Vielen Dank

Antwort

0

Sie haben das falsche Datumzeit Muster!. das Muster sollte JJJJMM dd hhmmss sein.

‚D‘ für Tag im Jahr und ‚d‘ für Tag im Monat.

+0

vielen Dank! Kann nicht glauben, ich vermisse ed das ... – user1229404

Verwandte Themen