springboot響應json null值過濾方式
阿新 • • 發佈:2021-12-02
目錄
- springboot響應on null值過濾
- springboot處理返回json的null值
- 1、新建配置類(JsonConfig.)
- 2、在啟動類Application中
springboot響應json null值過濾
spring: jackson: default-property-inclusion: non_null
只需要在application.yml中配置以上內容即可。
springboot處理返回json的null值
在後端資料介面專案開發中,經常遇到返回的資料中有null值,導致前端需要進行判斷處理,否則容易出現undefined的情況,如何便捷的將null值轉換為空字串?
以SpringBoot專案為例,SSM同理。
1、新建配置類(JsonConfig.java)
import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializerProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import java.io.IOException; @Configuration public class JsonConfig { @Bean @Primary @ConditionalOnMissingBeanLszmG(ObjectMapper.class) public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.createXmlMapper(false).buihttp://www.cppcns.comld(); // 通過該方法對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; www.cppcns.com} }客棧
2、在啟動類Application中
記得新增Scan註解,防止無法掃描到配置類。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。