如果使用下面fastjson内置的几种策略,通过名字大家基本上知道它们的作用,这种不会过滤掉日期字段的null
fastJsonConfig.setSerializerFeatures(
// SerializerFeature.PrettyFormat
SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullStringAsEmpty,
SerializerFeature.WriteNullBooleanAsFalse,
SerializerFeature.WriteNullNumberAsZero
);
我们来点简单粗暴的方式,直接使用Filter
package com.alibaba.fastjson.serializer;
public interface ValueFilter extends SerializeFilter {
Object process(Object object, String name, Object value);
}
我们实现value过滤器,简单粗暴
fastJsonConfig.setSerializeFilters((ValueFilter) (object, name, value) -> {
if (value== null) {
return "";
}
//TODO 在这里还可以干更多事情
return value;
});