Json阵列无法正确序列化

时间:2019-01-03 10:46:09

标签: java jsonschema jsonserializer

我正在尝试对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());
        }
    }

0 个答案:

没有答案