我尝试使用自定义序列化程序但是当值为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
答案 0 :(得分:0)
是不是将Object转换为String的序列化?您编写的getter方法似乎返回一个Timestamp(而不是String)...可能这就是为什么不调用序列化程序。