Вы можете добавить пользовательский сериализатор и десериализатор, чтобы выполнить то, что вы хотите сделать. Определите сериализатор, как показано ниже.
public class MyDateTimeDeserializer extends JsonDeserializer<LocalDateTime> {
private static DateTimeFormatter formatter = ISODateTimeFormat.dateTime();
@Override
public DateTime deserialize(final JsonParser jsonParser,
final DeserializationContext deserializationContext) throws IOException {
String dateStr = null;
String timeStr = null;
String fieldName = null;
dateStr = jsonParser.getValueAsString();
if (dateStr != null) {
return LocalDateTime.parse(dateStr, formatter);
}
return null;
}
}
Вы можете написать десериализатор, как показано ниже.
public class MyDateTimeSerializer extends JsonSerializer<LocalDateTime> {
private static DateTimeFormatter formatter = ISODateTimeFormat.dateTime();
@Override
public void serialize(final DateTime dateTime,
final JsonGenerator jsonGenerator,
final SerializerProvider serializerProvider) throws IOException {
jsonGenerator.writeString(formatter.print(dateTime));
}
}
Теперь вы можете комментировать поля даты и времени, как показано ниже.
@JsonSerialize(using = MyDateTimeSerializer.class)
@JsonDeserialize(using = MyDateTimeDeserializer.class)
private LocalDateTime valid_to;