Spring boot null属性不显示问题

 Spring boot 默认是jackson

相关属性可以通过代码配置,也可以通过spring.jackson.default-property-inclusion=non_null

Springboot的配置文件进行配置

 

 

@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;

    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章