小编典典

如果字段值为空,如何告诉杰克逊在序列化期间忽略字段?

all

如果该字段的值为空,如何将 Jackson 配置为在序列化期间忽略该字段值。

例如:

public class SomeClass {
   // what jackson annotation causes jackson to skip over this value if it is null but will 
   // serialize it otherwise 
   private String someValue; 
}

阅读 95

收藏
2022-03-02

共1个答案

小编典典

要使用 Jackson >2.0 禁止序列化具有空值的属性,您可以直接配置ObjectMapper,或使用@JsonInclude注释:

mapper.setSerializationInclusion(Include.NON_NULL);

要么:

@JsonInclude(Include.NON_NULL)
class Foo
{
  String bar;
}

或者,您可以@JsonInclude在 getter 中使用,以便在值不为空时显示属性。

我对如何防止 Map 中的空值和 bean 中的空字段通过 Jackson序列化的回答中提供了一个更完整的示例。

2022-03-02