Wie setzen format-string für java.Zeit.Instant mit objectMapper?

Habe ich eine Entität mit java.time.Instant für erstellte Datenfeld:

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class Item {
    private String id;
    private String url;
    private Instant createdDate;
}

Ich bin mit com.fasterxml.jackson.databind.ObjectMapper zu sparen Element Elasticsearch als JSON:

bulkRequestBody.append(objectMapper.writeValueAsString(item));

ObjectMapper serialisiert dieses Feld als Objekt:

"createdDate": {
    "epochSecond": 1502643595,
    "nano": 466000000
}

Ich habe versucht die Anmerkungen @JsonFormat(shape = JsonFormat.Shape.STRING) aber es funktioniert nicht für mich.

Meine Frage ist wie könnte ich dies serialisieren Feld als 2010-05-30 22:15:52 string?

github.com/FasterXML/jackson-modules-java8/tree/master/datetime
Danke für die Antwort, ich habe objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); und objectMapper.findAndRegisterModules() Es funktioniert nicht für mich.
Haben Sie das Modul jar Datei in den classpath?
Sicher, compile group: 'com.fasterxml.jackson.module', name: 'jackson-modules-java8', version: '2.9.0', ext: 'pom' diese eine

InformationsquelleAutor Uladzislau Kaminski | 2017-08-13

Schreibe einen Kommentar