springboot响应json null值过滤方式
程序员文章站
2022-06-30 20:19:39
目录springboot响应json null值过滤springboot处理返回json的null值1、新建配置类(jsonconfig.java)2、在启动类application中springbo...
springboot响应json null值过滤
spring: jackson: default-property-inclusion: non_null
只需要在application.yml中配置以上内容即可。
springboot处理返回json的null值
在后端数据接口项目开发中,经常遇到返回的数据中有null值,导致前端需要进行判断处理,否则容易出现undefined的情况,如何便捷的将null值转换为空字符串?
以springboot项目为例,ssm同理。
1、新建配置类(jsonconfig.java)
import com.fasterxml.jackson.core.jsongenerator; import com.fasterxml.jackson.core.jsonprocessingexception; import com.fasterxml.jackson.databind.jsonserializer; import com.fasterxml.jackson.databind.objectmapper; import com.fasterxml.jackson.databind.serializerprovider; import org.springframework.boot.autoconfigure.condition.conditionalonmissingbean; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; import org.springframework.context.annotation.primary; import org.springframework.http.converter.json.jackson2objectmapperbuilder; import java.io.ioexception; @configuration public class jsonconfig { @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; } }
2、在启动类application中
记得添加scan注解,防止无法扫描到配置类。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
下一篇: LANMP相关配置