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

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

相关推荐
松仔log1 分钟前
Jetpack——DataStore
java·kotlin
咸鱼翻身小阿橙3 分钟前
文件读写 + Qt Model/View + 自定义分页+搜索过滤
java·数据库·qt
在繁华处5 分钟前
Java从零到熟练(十):JVM基础与性能优化
java·jvm·性能优化
Demon1_Coder8 分钟前
Day1-SpringAI-1.0.0版本
java·开发语言·前端
老码观察13 分钟前
设计模式实战解读(九):责任链模式——流水线上层层把关的艺术
java·设计模式·责任链模式
basketball61617 分钟前
C++进阶:2. std::move 和 std::forward 函数
java·开发语言·c++
霸道流氓气质21 分钟前
Maven 批处理脚本与 Qoder 配置使用指南
java·maven
架构源启22 分钟前
Spring AI进阶系列(14)- 2026 可观测性最佳实践:从链路追踪到企业级 AI 治理落地
java·人工智能·spring
码上有光27 分钟前
c++: 继承(下)
android·java·c++·多继承·菱形继承·虚继承
JAVA96527 分钟前
JAVA面试-并发篇 02-synchronized 锁可以重入吗
java·面试