我正在尝试对Java类中的Json序列化和反序列化LocalDate数组,但是当我为Web服务生成json模式时,该参数仍然显示为LocalDate而不是String。
以下是代码:
@JsonSerialize(
contentUsing = ToStringSerializer.class
)
@JsonDeserialize(
contentUsing = LocalDateFromJSON.class
)
private LocalDate[] amortizationDates;
,在Json模式中,显示为:
amortizationDates":{"type":"array","items":{"$ref":"#/definitions/LocalDate"}}
这是错误的,因为序列化时它应该显示为String。
关于如何将其序列化为String的任何想法。
编辑:
我正在起诉Jackson进行序列化,以下是序列化器的详细信息:
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
-杰克逊内置
LocalDateFromJSON->
public static class LocalDateFromJSON extends JsonDeserializer<LocalDate> {
public LocalDateFromJSON() {
}
public LocalDate deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
return LocalDate.parse(((TextNode)jsonParser.readValueAsTree()).asText());
}
}