如果使用下面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; });