个人技术分享

1、Fastjson的SerializerFeature序列化属性

SerializerFeature.QuoteFieldNames———-输出key时是否使用双引号,默认为true
SerializerFeature.WriteMapNullValue——–是否输出值为null的字段,默认为false
SerializerFeature.WriteNullNumberAsZero-数值字段如果为null,输出为0,而非null
SerializerFeature.WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
SerializerFeature.WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
SerializerFeature.WriteNullBooleanAsFalseBoolean字段如果为null,输出为false,而非null

2、配置工程返回序列化

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
  
    @Bean
    public HttpMessageConverter fastJsonHttpMessageConverters(){
        FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
        FastJsonConfig fastJsonConfig=new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.QuoteFieldNames,
                SerializerFeature.WriteEnumUsingToString,
                SerializerFeature.WriteMapNullValue,
                SerializerFeature.WriteDateUseDateFormat,
                SerializerFeature.PrettyFormat,
                SerializerFeature.WriteNullStringAsEmpty,
                SerializerFeature.DisableCircularReferenceDetect);
        fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
        fastConverter.setFastJsonConfig(fastJsonConfig);
        fastConverter.setDefaultCharset(Charset.forName("UTF-8"));
        HttpMessageConverter<?> converter=fastConverter;
        return converter;
    }
  }