实体类序列化JSON时,过滤掉为空的字段的方法
在做一个接口返回数据时,其中一组数据的某个值为null,需要屏蔽掉这个字段,但是其他数据内的字段照常显示,考虑到两个方向,一个是在代码中,把为空的数据字段过滤掉,另一个是通过相应的注解来在实体类层面解决此问题。
考虑到本人比较懒,想找个比较简便的方法,最后还是选择了使用Jackson的一个注解来完成此操作。
@JsonInclude(Include.NON_NULL),此注解的作用就是实体转json,属性值为NULL或者为空时,该属性不参与序列化。
将该标记放在属性上,如果该属性为NULL则不参与序列化,如果放在类上边,那对这个类的全部属性起作用。
//Include.Include.ALWAYS 默认//Include.NON_DEFAULT 属性为默认值不序列化//Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化//Include.NON_NULL 属性为NULL 不序列化