如何使用杰克逊有条件连载一个POJO
问题描述:
领域我有一个Java类如何使用杰克逊有条件连载一个POJO
public class CategoryItem implements Serializable {
private Long id;
private String name;
private Manager manager;
}
在一种情况下,我需要所有的字段转换成JSON。 另一方面,我只需要'id'和'name' 我该怎么办?
给我一些tips.Thanks
答
与@JsonIgnore
标注您的POJO id
与@JsonProperty name
属性和经理当你只想id
和name
,使用默认ObjectMapper。 当您需要所有字段时,请根据此question/answer使用自定义ObjectMapper。
答
有很多方法可以做到这一点:
设置不必要的字段
null
,并使用在一流水平@JsonInclude(Include.NON_NULL)
注解。supply
SimpleBeanPropertyFilter
,whileObjectMapper
and use annotation@JsonFilter(<filter_name>)
at class level。使用自定义序列化程序。
你有什么研究吗? – soorapadman
设置不需要的字段null – passion
[忽略使用Jackson的JSON对象上的新字段]可能的副本(https://*.com/questions/5455014/ignoring-new-fields-on-json-objects-using-jackson) –