简单介绍实体类或对象序列化时,忽略为空属性的操作
这篇文章主要介绍了实体类或对象序列化时,忽略为空属性的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 |
第一种,在配置文件配置
在application.xml直接配置,这种方式是全局配置,所有返回给前端对象的属性为null或""都不进行序列化;
spring: jackson:#实体类转json时字段为null不参与序列化default-property-inclusion: NON_EMPTY default-property-inclusion 常用的4种类型 ALWAYS 默认 NON_DEFAULT 属性为默认值不序列化 NON_EMPTY 属性为 “” 或者为NULL都不序列化 NON_NULL 属性为NULL时不序列化
第二种,给每个类单独设置
给为空时需要忽略序列化的对象属性加 @JsonInclude(Include.NON_NULL),也可以直接加到类上,表示一整个对象的属性为null时都不参与序列化;
@JsonInclude 括号里面可以设置不同的类型
Include.Include.ALWAYS 默认
Include.NON_DEFAULT 属性为默认值不序列化
Include.NON_EMPTY 属性为 “” 或者为NULL都不序列化
Include.NON_NULL 属性为NULL时不序列化
如果配置了全局,又给某个对象进行注解方式的设置,注解方式会覆盖全局的设置。
SpringBoot2.x 不反回空值属性
由于有的时候我们返回的数据中存在属性没有值得情况,或者是属性的值为空白字符串,这会浪费网络流量,又或者是前端框架存在的bug会导致null值或者是空白字符串在渲染的时候会报错。
处理方式
第一种
全局的方式:在SpringBoot的配置文件中添加以下属性,即可达到全局过滤
spring.jackson.default-property-inclusion=non_empty
第二种
局部的方式:在返回的实体类属性或者是类名上添加以下注解,即可达到过滤效果
@JsonInclude(JsonInclude.Include.NON_EMPTY)
注意
这种方式对于空集合也是成立的。属性一共有如下值可选
Include.Include.ALWAYS 默认
Include.NON_DEFAULT 属性为默认值不序列化
Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化
Include.NON_NULL 属性为NULL 不序列化
以上为个人经验,希望能给大家一个参考。
简单介绍实体类或对象序列化时,忽略为空属性的操作相关推荐
- 实体类或对象序列化时,忽略为空属性
第一种,在配置文件配置 在application.xml直接配置,这种方式是全局配置,所有返回给前端对象的属性为null或""都不进行序列化: spring: jackson:#实 ...
- Castor简单介绍实体类和xml互转
本节摘要:本节主要介绍Castor插件的使用. https://www.cnblogs.com/java-pan/archive/2012/04/18/castor.html preparation ...
- 在一个电子商务网站应用中,涉及的实体信息类有很多,比如用户类User和用户地址类Address; 而每一个实体类的对象信息要存储到相应的数据库表中,如userTable和addressTable。
在一个电子商务网站应用中,涉及的实体信息类有很多,比如用户类User和用户地址类Address; 而每一个实体类的对象信息要存储到相应的数据库表中,如userTable和addressTable. ...
- 类和对象运行时在内存里是怎么样的?各种变量、方法在运行时是怎么交互的?
转载自 类和对象运行时在内存里是怎么样的?各种变量.方法在运行时是怎么交互的? 在回答这个问题之前先了解一下Java的一些基础知识. 我们知道Java程序运行在虚拟机环境里,那我们先看一下虚拟机的 ...
- c语言xml序列化,C# XML和实体类之间相互转换(序列化和反序列化)
我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. using System; using System.Collections.Ge ...
- JAVA类与对象构造方法,java基础-1-面向对象(1)-概念介绍与类、对象、构造方法...
-------android培训.java培训.期待与您交流! ---------- 什么叫做面向对象? 想要了解什么事面向对象,我们首先需要了解,什么是面向过程. 所谓的面向过程,指的是在编程期间, ...
- XML和实体类之间相互转换(序列化和反序列化)
我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. using System; using System.Collections.Ge ...
- JPA 一对一设置无效,连表查询的时候另外一个实体类的对象值为空
文章目录 1.前言 2.错误示例: 3.正确示例 4.讲解 1.前言 今天在使用 JPA 的时候发现了这样一个问题,User 表和 OrganInfo 表配置了一对一关系,连表查询的时候只能够查到表 ...
- java对象json序列化时忽略值为null的属性
当一个对象里有些属性值为null 的不想参与json序列化时,可以添加如下注解复制代码 import com.fasterxml.jackson.annotation.JsonInclude; imp ...
最新文章
- 浅谈机器人产品落地全过程
- jupyter 共享_可共享的Jupyter笔记本!
- matlab损失函数出现nan,[译]在训练过程中loss出现NaN的原因以及可以采取的方法。...
- 虚拟机linux命令界面转,虚拟机-linux系统中图形界面和命令行界面切换
- jdk1.8新特性的应用-Stream Api
- avalon视频学习笔记(六)
- AtCoder Regular Contest 088
- 最新论文汇总:深度补全
- react 最佳入门_详解React-Todos入门例子
- 以5‰的概率计算一个网络准确率达到99.9%的时间和迭代次数---实例三分类mnist 3,4,5
- 洛谷P3398 仓鼠找suger
- linux openerp,openerp
- 测试管理工具的基本功能有哪些?
- Hudi-表的存储类型及比较
- 面向Python开发人员的综合置信区间全面理解
- 解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题
- K近邻(k-Nearest Neighbor,KNN)算法,一种基于实例的学习方法
- java毕业设计员工绩效考核系统分析与设计Mybatis+系统+数据库+调试部署
- 一座适合躺尸的低房价、慢节奏小城
- 设计模式之观察者模式 1