首页 > 解决方案 > 解析到 POJO 时如何在 JSON 对象中排除 Null 列表

问题描述

我有一个 JSON 响应,它有一些对象,而对象有一些值列表。

"A": {
  "Object1": {
     "list":[
         null,
         null,
         null
       ]
   }
   "Object2": {
     "list":[
         null,
         null,
         null
       ]
   }
   "Object3": {
     "list":[
         2,
         3,
         8
       ]
   }
 }

如果列表具有空值,我想排除完整对象“Object1”和“Object2”。

我试过了

@JsonInclude(Include.NON_NULL) 

在班级级别和现场级别,但仍然不排除。

标签: javajsonrestparsing

解决方案


您可以@JsonSetter在具有规范的字段上使用注释,应如何处理空值:

@JsonSetter(nulls=Nulls.AS_EMPTY) // null will clear to empty list
public List<String> names = Collections.emptyList();

(你需要在杰克逊至少 2.9 版)


推荐阅读