SpringBoot中使用Jackson将null值转化为""或者不返回的配置
Posted King-D
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot中使用Jackson将null值转化为""或者不返回的配置相关的知识,希望对你有一定的参考价值。
第一种方式:SpringBoot中使用Jackson将null值转化为""
前言:在实际项目中难免会遇到null值的出现,但是我们转json时并不希望出现NULL值,而是将NULL值转化为 “” 这种空的字符串。那么,我们应该如何处理呢?在SpringBoot中,新建一个配置类即可。
@Configuration public class JacksonConfig { @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.class) public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.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; } }
如此一来,遇到NULL值的时候,都会转化为""的形式。
第二种方式:
就是在yml文件中配置:
spring: jackson: default-property-inclusion: non_null
第三种方式:
就是在实体类上使用注解:
@JsonInclude(JsonInclude.Include.NON_NULL)
以上是关于SpringBoot中使用Jackson将null值转化为""或者不返回的配置的主要内容,如果未能解决你的问题,请参考以下文章
让springboot序列化空值null为"null"而不是空报文体(jackson)
SrpingMVC/SpringBoot中restful接口序列化json的时候使用Jackson将空字段,空字符串不传递给前端