Ich habe das Feld initiationDate
, die von ToStringSerializer
Klasse nach ISO-8601-Format serialisiert.LocalDateTime - Deserialisierung mit LocalDateTime.parse
@JsonSerialize(using = ToStringSerializer.class)
private LocalDateTime initiationDate;
Wenn ich die folgende JSON erhalten,
...
"initiationDate": "2016-05-11T17:32:20.897",
...
will ich es Methode LocalDateTime.parse(CharSequence text)
Fabrik deserialisieren. All meine Versuche endeten mit com.fasterxml.jackson.databind.JsonMappingException
:
Kann nicht instanziiert Wert vom Typ [einfachen Typ, Klasse
java.time.LocalDateTime
] vonString
Wert ('2016-05-11T17:32:20.897'
); nein single-String
Errichter/Fabrik Methode
Wie erreiche ich das? Wie kann ich die Factory-Methode angeben?
EDIT:
Das Problem, indem jackson-datatype-jsr310 module das Projekt gelöst wurde und mit @JsonDeserialize
mit LocalDateTimeDeserializer
.
@JsonSerialize(using = ToStringSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime initiationDate;
Ich weiß nicht, dass Es verwendet 'parse', aber haben Sie die entsprechende Erweiterung [hier] (https://github.com/FasterXML/jackson-datatype-jsr310) hinzugefügt? –
@StiriosDelimanolis, nein, wie löst es mein Problem? Ich muss die Factory-Methode angeben. 'LocalDateTime.parse (" 2016-05-11T17: 32: 20.897 ") funktioniert einwandfrei. – Andrew