SpringBoot总结

Jackson

将null转成""

@Configuration
public class JacksonConfig {

    @Bean
    @Primary
    @ConditionalOnMissingBean(ObjectMapper.class)
    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder){
        ObjectMapper objectMapper = jackson2ObjectMapperBuilder.createXmlMapper(false).build();
        objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
            @Override
            public void serialize(Object o, JsonGenerator jsonGenerator
            , SerializerProvider serializerProvider) throws IOException {
                jsonGenerator.writeString("");
            }
        });
        return objectMapper;
    }

}

Jackson使用参考链接: https://blog.csdn.net/u011054333/article/details/80504154

FastJson

将null转成"",[]等

@Configuration
public class fastJsonConfig extends WebMvcConfigurationSupport {

/**
* 使用阿里 FastJson 作为JSON MessageConverter
* @param converters
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>>
converters) {
      FastJsonHttpMessageConverter converter = new
      FastJsonHttpMessageConverter();
      FastJsonConfig config = new FastJsonConfig();
      config.setSerializerFeatures(
      // 保留map空的字段
      SerializerFeature.WriteMapNullValue,
      // 将String类型的null转成""
      SerializerFeature.WriteNullStringAsEmpty,
      // 将Number类型的null转成0
      SerializerFeature.WriteNullNumberAsZero,
      // 将List类型的null转成[]
      SerializerFeature.WriteNullListAsEmpty,
      // 将Boolean类型的null转成false
      SerializerFeature.WriteNullBooleanAsFalse,
      // 避免循环引用
      SerializerFeature.DisableCircularReferenceDetect);
      converter.setFastJsonConfig(config);
      converter.setDefaultCharset(Charset.forName("UTF-8"));
      List<MediaType> mediaTypeList = new ArrayList<>();
      // 解决中文乱码问题,相当于在Controller上的@RequestMapping中加了个属性produces
      = "application/json"
      mediaTypeList.add(MediaType.APPLICATION_JSON);
      converter.setSupportedMediaTypes(mediaTypeList);
      converters.add(converter);
      }
}
posted @ 2020-11-01 17:01  幻竹  阅读(125)  评论(0)    收藏  举报