如何通过Jackson + Spring MVC为空日期写空字符串?

时间:2014-05-08 19:32:27

标签: json spring-mvc jackson

我尝试使用自定义序列化程序但是当值为null时它似乎永远不会去那里,因此我的代码永远不会打印空字符串:

@JsonSerialize(using = NullDateSerializer.class)
    public Timestamp getFinalizedDate() {
        return finalizedDate;
    }

-

public class NullDateSerializer extends JsonSerializer<Date> {

    @Override
    public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider)
            throws IOException, JsonProcessingException {
        if (value == null)
            jgen.writeString("");
        else
            jgen.writeNumber(value.getTime());
    }
}

那我该怎么办?

我发现使用一些ObjectMapper在整个应用程序中写入空值的几个线程,虽然我更喜欢明确地使用@JsonSerialize这样做但我尝试了但它甚至没有工作。我想旧的解决方案不再适用了。无论如何,我想用@JsonSerialize来做。

使用jackson 1.9.3 spring 3.2.2

1 个答案:

答案 0 :(得分:0)

是不是将Object转换为String的序列化?您编写的getter方法似乎返回一个Timestamp(而不是String)...可能这就是为什么不调用序列化程序。