jsoninclude.include.non_null 不起作用问题

在开发过程中,遇到在属性上加jsoninclude.include.non_null注解,有些属性起了作用,有些却没有起作用,下面使用代码简要说明一下:

@Data
public class demoBean {
    private String aNo;
    private String aName;
    private String aId;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String aCount;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String timeType;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String timeLong;
}

发现timeType与timeLong为空时,过滤成功,aCount为空时,还是传递给了后端。

解决方案一:

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class demoBean {
    private String aNo;
    private String aName;
    private String aId;
    private String aCount;
    private String timeType;
    private String timeLong;
}

在类上加 @JsonInclude(JsonInclude.Include.NON_NULL)注解,发现没有问题。

解决方案二:

@Data
public class demoBean {
    private String aNo;
    private String aName;
    private String aId;
    // 该为非驼峰命名法,发现驼峰命名法,传给前端参数改为acount 小写
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String abCount;
    //private String aCount;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String timeType;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String timeLong;
}

把不起作用属性名改为非驼峰命名法,亦有效。

解决方案三(待测试):

@Data
public class demoBean {
    private String aNo;
    private String aName;
    private String aId;
    @JsonProperty
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String aCount;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String timeType;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String timeLong;
}

属性前加 @JsonProperty 注解,该方案未测试,如读者有疑问,欢迎反馈。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值