如何使用jackson对象映射器将并非所有属性从java对象转换为json

时间:2016-03-07 16:09:16

标签: java json jackson

我正在寻找一种通过jackson转换为json的部分对象(不是所有的attrbiutes)的方法。目前我正在使用这个解决方案:

User userServed = User.find.byId(id);
ObjectMapper mapper = new ObjectMapper();
JsonNode node = null;
node = mapper.convertValue(userServed, JsonNode.class);

到目前为止一切正常。

我的问题是我在Object中有很多属性我不希望像列表一样暴露给json节点。有没有办法可以只选择所需的属性?

1 个答案:

答案 0 :(得分:1)

您可以使用JsonIgnore注释该字段吗?

来自http://wiki.fasterxml.com/JacksonAnnotations

  

@JsonIgnore(方法/字段):用于完全忽略的注释   注释方法,无论自动检测或其他注释

编辑:或使用注释JsonIgnoreProperty

  

(杰克逊1.4+)@JsonIgnoreProperties(类)可以用来表示   要序列化和/或忽略某些属性   反序列化(处理有所不同取决于哪个操作   受影响):

     

◦String[] value()定义要忽略的逻辑属性名称(名称   派生自getter / setter名称,或通过显式注释)

     

◦booleanignignUnknown()定义“未知”JSON属性是否可以   在反序列化期间是否被默默地忽略;不影响   序列化。