如何使用Jackson有条件地序列化POJO的字段

时间:2017-09-14 05:56:24

标签: java json jackson

我有一个java类

    public class CategoryItem implements Serializable {
    private Long id;            

    private String name;           

    private Manager manager;
}

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

给我一​​些提示。谢谢

2 个答案:

答案 0 :(得分:0)

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

如果只需要idname,请使用默认的ObjectMapper。 如果需要所有字段,请按照question/answer使用自定义ObjectMapper。

答案 1 :(得分:0)

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

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

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

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