Jackson使用@JsonInclude配置实现,当controller返回前端的对象里有个属性为null的时候自动忽略这个属性,即不返回该属性
发布日期:2021-11-02 12:48:56
浏览次数:128
分类:技术文章
本文共 1222 字,大约阅读时间需要 4 分钟。
后端返回给前端JSON格式的对象数据中,当对象的字段为NULL时,该字段也会写入JSON返回;而很多时候前端期望后端只返回对象中非null的字段数据。在Jackson框架中提供了 @JsonInclude 注解以实现该功能
不返回null字段数据
在相关对象的类或对应字段
上添加 @JsonInclude
注解,设定值为 NON_NULL
@JsonInclude(JsonInclude.Include.NON_NULL)public class Student{ private int id; private String username; private String sex; //字段上则只对这个字段生效 @JsonInclude(JsonInclude.Include.NON_NULL) private String address; ...}
则HTTP Response返回的该类的对象的JSON数据如下所示,无为null的字段
{ "id": 0, "username": "Kallen", "sex": "female"}
返回null字段数据
在相关对象的类或对应字段
上添加 @JsonInclude
注解,设定值为 ALWAYS
@JsonInclude(JsonInclude.Include.ALWAYS)
则HTTP Response返回的该类的对象的JSON数据如下所示,其中包含null的字段
{ "id": 0, "username": "Kallen", "sex": "female", "address": null}
下面这些操作只有在接口返回的bean里的这个属性不是必需的时候才能这样玩,不然千万不要这样玩
在controller返回前端的时候单个实体类需要在属性值为null的时候忽略这个属性
加注解前,返回的属性的value是null
加注解后
这里data里的实体类是OrderDTO,所以在OrderDTO上加
@JsonInclude(JsonInclude.Include.NON_NULL)
注解即可
但是当有很多很多的实体类都需要这样时,如果允许全局都这样操作,可以在spring的启动yml文件中配置
spring: jackson: default-property-inclusion: non_null
也可以手动设置
demoObjectMapper objectMapper = new ObjectMapper()//JsonInclude.Include.ALWAYS则是序列化的时候包含null值字段objectMapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL)
转载地址:https://blog.csdn.net/weixin_43944305/article/details/103848927 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月18日 11时52分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux i2c子系统abc
2019-04-29
CSS3 帧动画(Sprite,直译叫雪碧图)
2019-04-29
Java 父线程与子线程相互通信的方法
2019-04-29
Redis 六种淘汰策略和三种删除策略
2019-04-29
Java LinkedHashMap
2019-04-29
JPA 多线程同时对一条数据进行Update的问题
2019-04-29
JPA 多线程对数据进行更新,Update和Insert同时存在的问题
2019-04-29
Java 高性能队列Disruptor
2019-04-29
SpringBoot 使用https
2019-04-29
Java 读写锁
2019-04-29
JVM Minor GC、Full GC和Major GC
2019-04-29
SpringBoot @Scheduled 执行两次的问题
2019-04-29
tomcat配置JVM
2019-04-29
Ubuntu软件安装&卸载
2019-04-29
面试笔试易错知识点Java篇八
2019-04-29
弹性事务框架ETF4J——面向Java微服务的交易最终一致性解决方案
2019-04-29
【Scala 教程】Scala 条件与循环语句
2019-04-29
【Scala 教程】Scala 集合类型
2019-04-29
JAVA 线程同步机制 synchronized
2019-04-29