在開發過程當中,咱們須要統一返回前端json格式的數據,但有些接口的返回值存在 null或者""這種沒有意義的字段。以上不只影響理解,還浪費帶寬,這時咱們能夠統一作一下處理:不返回空字段,或者把NULL轉成「」。前端
要作要以上,通過網上尋找資料,發現不少文章都是相互拷貝,因而從網上本身尋找資料,對他們進行整理,記錄,同時能夠對返回的null字段進行靈活配置。spring
spring 內置的json處理框架是Jackson。咱們能夠對它配置一下達到目的,具體代碼以下.json
@Configuration public class JacksonConfig { @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.class) public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.createXmlMapper(false).build(); // 經過該方法對mapper對象進行設置,全部序列化的對象都將按改規則進行系列化 // Include.Include.ALWAYS 默認 // Include.NON_DEFAULT 屬性爲默認值不序列化 // Include.NON_EMPTY 屬性爲 空("") 或者爲 NULL 都不序列化,則返回的json是沒有這個字段的。這樣對移動端會更省流量 // Include.NON_NULL 屬性爲NULL 不序列化,就是爲null的字段不參加序列化 //objectMapper.setSerializationInclusion(Include.NON_EMPTY); // 字段保留,將null值轉爲"" objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() { @Override public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { jsonGenerator.writeString(""); } }); return objectMapper; } }參考文章:https://blog.csdn.net/kokjuis/article/details/78830314