@JsonInclude 标记是jackson包提供的json序列化方法,已经集成于Springboot2.0中,此方法的配置意在可以对实体json序列化的时候进行对应的数值处理。
我的类中有三种对象,分别是entity、dto、vo,数据转换路径是:entity是数据库数据映射对象,entity转成成dto,dto转换成vo,当把@JsonInclude加在dto上时是无效的,一是dto只做了一个实体类对象转换,并没有做json转换,二是因为是中间数据转换,并不需要传输,所以不需要做序列化,基于以上两点,所以注解此时是无效的。
然后把@JsonInclude对象加到vo对象上,就可以去除空集合了。