含有null值属性对象转json时使其变成空字符串

在项目开发中经常需要讲后台的某个对象以json的方式传递给前台,默认配置将为空的属性不传递给前台。

<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                    <property name="serializationInclusion">
                        <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value>
                    </property>
                </bean>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

这样容易造成同一个属性在前台有的显示undefined,有的显示真实值。

为了防止前台在数据为空时显示undefined,可采用以下方法:

使用jackson库的注解:@JsonInclude(Include.ALWAYS) 。

将该注解放在属性上,表示如果该属性不管是不是为NULL都将参与序列化。
放在类上面,那对这个类的全部属性起作用。 


Include.ALWAYS 属性都序列化
Include.NON_DEFAULT 属性为默认值不序列化 
Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化 
Include.NON_NULL 属性为NULL 不序列化 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值