Closed
Description
Lets look on LocalDateTimeDeserializer (for example):
public LocalDateTime deserialize(JsonParser parser, DeserializationContext context) throws IOException {
if (parser.hasTokenId(JsonTokenId.ID_STRING)) {
String string = parser.getText().trim();
// ...
try {
// ...
return LocalDateTime.parse(string, _formatter);
} catch (DateTimeException e) {
_rethrowDateTimeException(parser, context, e, string);
}
}
// ...
}
Please change it to:
public LocalDateTime deserialize(JsonParser parser, DeserializationContext context) throws IOException {
if (parser.hasTokenId(JsonTokenId.ID_STRING)) {
String string = parser.getText().trim();
// ...
try {
// ...
return LocalDateTime.parse(string, _formatter);
} catch (DateTimeException e) {
try {
return context.handleWeirdStringValue(LocalDateTime.class, string, e.getMessage());
} catch (Throwable t) {
t.initCause(e);
}
}
}
// ...
}
Why do I need this? I want to create a module that defines some DeserializationProblemHandlers that allow to deserialize datetime types using several formats. Now I need to create mix-ins to override datetime deserializers.
Please apply this change to all deserializers and key deserializers.
Metadata
Metadata
Assignees
Labels
No labels