【问题标题】:How to use Jackson to conditionally serialise the fields of a POJO如何使用 Jackson 有条件地序列化 POJO 的字段
【发布时间】:2017-09-14 05:56:23
【问题描述】:

我有一个java类

    public class CategoryItem implements Serializable {
    private Long id;            

    private String name;           

    private Manager manager;
}

在一种情况下,我需要将所有字段转换为 json。 在另一种情况下,我只需要'id'和'name' 我能怎么做?

给我一​​些建议。谢谢

【问题讨论】:

标签: java json jackson


【解决方案1】:

用@JsonProperty 注释你的POJO idname 属性,用@JsonIgnore 注释经理

如果您只需要 idname,请使用默认 ObjectMapper。 当您需要所有字段时,请根据此 question/answer 使用自定义 ObjectMapper。

【讨论】:

    【解决方案2】:

    有很多方法可以做到这一点:

    1. 将不需要的字段设置为null,并在类级别使用@JsonInclude(Include.NON_NULL)注解。

    2. 提供SimpleBeanPropertyFilter,同时使用ObjectMapper,并在课堂级别使用注释@JsonFilter(<filter_name>)

    3. 使用自定义序列化器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      相关资源
      最近更新 更多