【问题标题】:JsonInclude annotaion for associated class关联类的 JsonInclude 注释
【发布时间】:2021-02-09 12:48:21
【问题描述】:

通过在类级别使用@JsonInclude(JsonInclude.Include.NON_EMPTY),它会在序列化过程中忽略空值和空值标签。

是否有任何 JsonInclude 变体或任何其他库或类可以忽略关联(has-a)类的 null 和空属性。

【问题讨论】:

  • 您是否尝试过将@JsonInclude 放在关联的类上
  • 如果我将 @JsonInclude 放在关联类上,它就可以工作。但是我需要将此注释放在我的每个关联类上,所以我想如果有任何全局注释可以递归检查关联类上的空值,那可能会很棒。
  • 那么,我认为第一个答案中提供的链接可以完成这项工作:)

标签: java spring spring-boot jackson-databind fasterxml


【解决方案1】:

您可以选择在类级别使用注释,即:

@JsonInclude(Include.NON_NULL) //or Include.NON_EMPTY, if that fits your use case 
public static class Request {
  // ...
}

如 cmets 中所述,在 2.x 以下版本中,此注解的语法为:

@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) // or JsonSerialize.Inclusion.NON_EMPTY

另一种选择是直接配置 ObjectMapper,只需调用 mapper.setSerializationInclusion(Include.NON_NULL);

正如drew moore所提到的那样 你也许也可以看看Ignore Null Fields with Jackson - Baeldung

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2016-01-30
    相关资源
    最近更新 更多