【发布时间】:2019-02-24 18:23:26
【问题描述】:
我正在开发自定义 JSON 反序列化器并拥有以下课程
public class yyyy_MM_dd_DateDeserializer extends StdDeserializer <LocalDate> {
public yyyy_MM_dd_DateDeserializer() {
this(null);
}
public yyyy_MM_dd_DateDeserializer(Class t) {
super(t);
}
@Override
public LocalDate deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
String dateString = jsonParser.getText();
LocalDate localDate = null;
try {
localDate = LocalDate.parse(dateString, "yyyy-MM-dd");
} catch (DateTimeParseException ex) {
throw new RuntimeException("Unparsable date: " + dateString);
}
return localDate;
}
}
在我的请求类中
@Valid
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonSerialize(using = LocalDateSerializer.class)
private LocalDate endDate;
它工作正常,但我想知道我是否可以动态传递日期格式。而不是在yyyy_MM_dd_DateDeserializer 中进行硬编码。
我想从我的请求类中传递日期格式,以便我的反序列化器更通用,任何人都可以通过发送所需的格式来使用它。
【问题讨论】:
标签: java json json-deserialization localdate