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

@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时才会被包含进去。

相关推荐
丙氨酸長鏈31 分钟前
[Bukkit插件开发]手持发射器箭矢机枪 教学文档 面向Python/C#开发者入门Java与Bukkit API
java·python·c#
Nontee33 分钟前
设计模式:模板方法与策略,从“每个字都认识“到能说清它们在干嘛
java·数据库·设计模式
我是唐青枫35 分钟前
Java ReentrantLock 实战详解:比 synchronized 更灵活的可重入锁
java·开发语言
晨曦中的暮雨2 小时前
Virtual Thread 优化 Spring AI 阻塞式 LLM I/O:对照压测报告
java·并发·个人项目
AKA__Zas2 小时前
芝士算法(前缀和2.0)
java·数据结构·算法·leetcode·哈希算法·学习方法
caishenzhibiao2 小时前
降雨带波段点差 同花顺期货通指标
java·c语言·c#
七夜zippoe2 小时前
OpenClaw Prompt 工程:从角色设定到 Skill 封装的 Agent 输出质量方法论
java·服务器·prompt·openclaw·skill封装
rosmis3 小时前
agent各指标定义
android·java·开发语言
mifengxing3 小时前
Java 集合进阶(一)
java·开发语言·数据结构·复习笔记
令狐前生3 小时前
Intellij IDEA 2025 破解安装
java·ide·intellij-idea