后端给前端传参数忽略空属性

@JsonInclude

@JsonInclude注解用于指定在对象序列化为JSON字符串时,哪些属性应该被包含进去,哪些属性应该被忽略掉。

@JsonInclude注解有以下几个常用选项:

  1. @JsonInclude(JsonInclude.Include.NON_NULL):表示只有属性值不为null的属性才会被包含进去。属性值为null的属性将被忽略。

  2. @JsonInclude(JsonInclude.Include.NON_EMPTY):表示只有属性值不为空的属性才会被包含进去。属性值为空字符串("")或空集合([])等情况的属性将被忽略。

  3. @JsonInclude(JsonInclude.Include.ALWAYS):表示所有属性都会被包含进去,即使属性值为null或为空。

  4. @JsonInclude(JsonInclude.Include.NON_DEFAULT):表示只有属性值与默认值不相等的属性才会被包含进去。默认值根据属性类型的默认值而定。

示例代码如下:

@JsonInclude(JsonInclude.Include.NON_NULL)
public class MyClass {
    private String name;
    private Integer age;
    private List<String> hobbies;
 
    // getters and setters
}

上述代码表示在将MyClass对象序列化为JSON字符串时,只有name、age和hobbies属性的值不为null时才会被包含进去。

相关推荐
m0_571957582 小时前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
魔道不误砍柴功4 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2344 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨4 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
测开小菜鸟5 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity6 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天7 小时前
java的threadlocal为何内存泄漏
java
caridle7 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^7 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋37 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx