2017-09-14 55 views
-1

领域我有一个Java类如何使用杰克逊有条件连载一个POJO

public class CategoryItem implements Serializable { 
    private Long id;    

    private String name;   

    private Manager manager; 
} 

在一种情况下,我需要所有的字段转换成JSON。 另一方面,我只需要'id'和'name' 我该怎么办?

给我一些tips.Thanks

+0

你有什么研究吗? – soorapadman

+0

设置不需要的字段null – passion

+0

[忽略使用Jackson的JSON对象上的新字段]可能的副本(https://stackoverflow.com/questions/5455014/ignoring-new-fields-on-json-objects-using-jackson) –

回答

0

与@JsonIgnore

标注您的POJO id与@JsonProperty name属性和经理当你只想idname,使用默认ObjectMapper。 当您需要所有字段时,请根据此question/answer使用自定义ObjectMapper。

0

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

  1. 设置不必要的字段null,并使用在一流水平@JsonInclude(Include.NON_NULL)注解。

  2. supply SimpleBeanPropertyFilter,while ObjectMapper and use annotation @JsonFilter(<filter_name>) at class level。

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