利用过滤器简单粗暴的解决FastJson转JSON后字段存在null的问题

394 阅读1分钟

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