2017-06-29 2 views
2

Arbeit habe ich ein Date Format von API wie diese kommt: "date": 1498729813872Datumsformat Mapping zu JSON Jackson nicht richtig

Aber ich mag eigentlich in dd-M-yyyy hh:mm:ss auf diese Weise

i Jersey und jackon für Daten sind mit Serialisierung Wie kann ich Datum in Sekunden für Matte zu spezifischem Format ändern

Antwort

1

Serialisierungsdaten als Zeitstempel auf Jacksons ObjectMapper deaktivieren. Z.B.

mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); 

Das Datumsfeld entsprechend annotieren. Z.B.

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="dd-M-yyyy hh:mm:ss") 
private Date date; 

oder setzen auch das Format auf dem ObjectMapper

DateFormat df = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); 
mapper.setDateFormat(df); 

Docs for JsonFormat

+0

thkz Mann .. können wir das shape.Stirng bisher ändern – Midhun

+1

'JsonFormat.Shape' zum Inhalt des verweist Ergebnis JSON nicht das Java-Objekt, das Sie serialisieren. Es gibt keine JSON-Spezifikation für die Darstellung von Datumsangaben. Die 'Form' kann in Ihrem Fall' STRING' oder 'NUMBER' sein. Ich habe den Dokumentationslink für 'JsonFormat' hinzugefügt: –

+0

Wie kann ich die Zeitzone hinzufügen? Ich speichere und konvertiere in GMT wenn ich serialisiere – Midhun

Verwandte Themen