<返回更多

json忽略空字段

2022-04-12    烫手的砖
加入收藏

记录一个简单的使用,前后端开发过程中常常会遇到null值返回,为了忽略null值字段(可能是不需要的字段,所以我们需要忽略这些字段,我们可以使用这个注解)。简单的一个知识点,希望对你有用!!!

@JsonInclude(JsonInclude.Include.NON_NULL)
    private String name;
    
    private String color;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

添加@JsonInclude(
JsonInclude.Include.NON_NULL)注解,null值字段会被忽略

@JsonInclude用法:


JsonInclude.Include.ALWAYS 这个是默认策略,任何情况下都序列化该字段,和不写这个注解是一样的效果。


JsonInclude.Include.NON_NULL 这个最常用,即如果加该注解的字段为null,那么就不序列化这个字段了。


JsonInclude.Include.NON_ABSENT 这个包含NON_NULL,即为null的时候不序列化,详情看源码。


JsonInclude.Include.NON_EMPTY 这个属性包含NON_NULL,NON_ABSENT之后还包含如果字段为空也不序列化。


JsonInclude.Include.NON_DEFAULT 这个属性是如果该字段为默认值的话就不序列化。


JsonInclude.Include.USE_DEFAULTS 使用默认值的情况下就不序列化。


JsonInclude.Include.CUSTOM 这个是自定义包含规则,官方的解释如下:

如果使用@JsonInclude#value=
JsonInclude.Include.CUSTOM并通过@JsonInclude#value filter指定一个筛选器类,则仅当该属性值未被筛选器类筛选时,才会对其进行序列化。filter类的equals()方法用于筛选值;如果返回“true”,则不序列化值。

类似地,如果使用@JsonInclude#content=
JsonInclude.Include.CUSTOM并通过@JsonInclude#content filter指定筛选器类,则如果筛选器类的equals方法返回true,则不会序列化目标属性的内容值。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>