1. 程式人生 > >SpringBoot介面返回去掉空欄位

SpringBoot介面返回去掉空欄位

返回的介面中存在值為null或者空的欄位過濾掉

@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(JsonInclude.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; } }