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)

原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/11917018.html

时间: 2024-10-29 03:33:30

SpringBoot中使用Jackson将null值转化为""或者不返回的配置的相关文章

mysql 允许在唯一索引的字段中出现多个null值

线上问题:org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [update fl_table set id = ?, password = ?, email = ? where id = '3583954800']; Duplicate entry ' ' for key 'email'; nested exception is com.mysql.jdbc.exceptions.jdbc4

SQL触发器中若取到null值可能引发的问题

declare @code varchar(20), @cs varchar(20),@zc varchar(20)set @cs='('[email protected]+'*'[email protected]+')'print '字符'[email protected]insert into TESTER2 values(@cs,@zc,@cs) declare @code varchar(20), @cs varchar(20),@zc varchar(20)set @cs='1'set

delphi中判断是否是null值

function st_isNull(Value,R: Variant; IsConsiderBlank: Boolean = False): Variant;var  str: string;begin  Result := Value;  IF varIsNull(Value) Then Result := R;  IF VarIsStr(Value) Then  Begin    str := Value;    IF ((IsConsiderBlank) and (Length(Trim

linq 在查询表达式中处理 null 值

此示例显示如何在源集合中处理可能的 null 值. IEnumerable<T> 等对象集合可包含值为 null 的元素. 如果源集合为 null 或包含值为 null 的元素,并且查询不处理 null 值,则在执行查询时将引发 NullReferenceException. 可采用防御方式进行编码,以避免空引用异常,如以下示例所示: var query1 = from c in categories where c != null join p in products on c.ID equ

《奇妙的NULL值,你知道多少?》

<NULL值的多义性分析> 谈到NULL值,很多人都是很熟悉,但是深入了解后,又感觉到陌生,对其含义和用法,都无法很准确的理解.NULL在数据库和编程语言中,存在的意义和附带的含义不同. NULL这个概念,在数据库中产生的时候就存在异议.NULL值的意义现在主流的想法为:"未知值或不确定的值".至于是否应该被视为未知值或不确定的值,存在较大的争议. NULL值在编程语言中的意思为"空的引用",即变量只是申明了,但没有实例化,在内存中没有分配内存. 由于N

mysql,sql server,oracle 唯一索引字段是否允许出现多个 null 值?

最近一个项目,涉及到sql server 2008,因为业务需求,希望建立一个唯一索引,但是发现在sql server中,唯一索引字段不能出现多个null值,下面是报错信息: CREATE UNIQUE NONCLUSTERED INDEX weixin_openid_ui ON Users(weixin_openid); 因为发现对象名称 'dbo.Users' 和索引名称 'weixin_openid_ui' 有重复的键,所以 CREATE UNIQUE INDEX 语句终止.重复的键值为

sql server null值需要注意的地方

1.null与任何运算符运算后都为null 普通的值一般都可能进行运算符操作,但例如:ID列为int,所以可以这样:ID=ID+1等,但如果一列的值为null,null+1=null 例如 update testNullset b=b+1where b is null 查询后发现b的值没有变化,仍然为null. 2.任何值与null比较时都会返回false 普通的值可以进行"="操作,例如条件中一般都会这样出现:sUserName='张三',如果sUserName的值为null,要想找

SpringBoot中配置不序列化返回值为null的属性

package com.weiresearch.properties; import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JsonSerializer;imp

jackson 转json. 过滤null值

@Test public void tttttt() throws JsonGenerationException, JsonMappingException, IOException { ObjectMapper mapper = new ObjectMapper(); // 过滤对象的null属性. mapper.setSerializationInclusion(Inclusion.NON_NULL); // 过滤map中的null值 mapper.configure(Serializat