Ich habe einen Fehler, wenn ich versuche, dieses Attribut zu deserialisieren:Deserialize Local mit Jackson
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime deliveryDate;
Dies ist die Deserialisierung Klasse:
public class LocalDateTimeDeserializer extends JsonDeserializer<LocalDateTime> {
@Override
public LocalDateTime deserialize(JsonParser parser, DeserializationContext context) throws IOException {
if (parser.getCurrentToken().equals(JsonToken.VALUE_STRING)) {
String rawDate = parser.getText();
return LocalDateTime.parse(rawDate);
} else {
throw context.wrongTokenException(parser, JsonToken.VALUE_STRING, "Expected string.");
}
}
Und die Serialisierung Klasse:
public class LocalDateTimeSerializer extends JsonSerializer<LocalDateTime> {
@Override
public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeString(value.toString());
}
Das ist der Fehler, den ich bekomme:
"timestamp":1513962011642,"status":400,"error":"Bad Request","exception":"org.springframework.http.converter.HttpMessageNotReadableException","message":"Could not read document: Text '2017-12-22T16:00:00.874Z' could not be parsed, unparsed text found at index 23
Wissen Sie warum?
Danke!
Mögliches Duplikat von [Java 8 LocalDate Jackson-Format] (https://StackOverflow.com/questions/28802544/java-8-localdate-Jackson-format) – sebadagostino
Was sind die eigentlichen Originaldaten im JSON?1513962011642? –
Die ursprünglichen Daten sind 2017-12-22T16: 00: 00.874Z – Anna