后端返回给前端json数据时,隐藏为null的字段

本文介绍了如何在Java中使用@JsonInclude注解和全局配置来避免JSON序列化时包含null字段,以及在已与前端约定的情况下,将null值转化为或[]的策略。通过在JavaBean上添加@JsonInclude(JsonInclude.Include.NON_NULL)注解,可以确保只有非空字段被序列化。同时,当需要特定字段即使为null也返回预设值时,可以在定义变量时设置默认值。

1. 隐藏为null的字段

1.1 单个javabean

在JavaBean上标注@JsonInclude(JsonInclude.Include.NON_NULL)注解

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ResultVO<T> {

    // 错误码
    private Integer code;
    // 提示信息
    private String msg;
    // 返回的具体内容
    private List<T> data;

}
1.2 全局配置

需要在application.yaml文件中配置

spring:
  jackson:
    default-property-inclusion: non_null

2. 将null转化为[]或""

在有些情况下,已经与前端约定好了,即使某个数据为null,但仍然要返回给前端,且不能为null。数组类型返回为[],字符串类型返还为""

【解决方案】定义变量时设置初始值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值