我正在寻找一种通过jackson转换为json的部分对象(不是所有的attrbiutes)的方法。目前我正在使用这个解决方案:
User userServed = User.find.byId(id);
ObjectMapper mapper = new ObjectMapper();
JsonNode node = null;
node = mapper.convertValue(userServed, JsonNode.class);
到目前为止一切正常。
我的问题是我在Object中有很多属性我不希望像列表一样暴露给json节点。有没有办法可以只选择所需的属性?
答案 0 :(得分:1)
您可以使用JsonIgnore
注释该字段吗?
来自http://wiki.fasterxml.com/JacksonAnnotations
@JsonIgnore(方法/字段):用于完全忽略的注释 注释方法,无论自动检测或其他注释
编辑:或使用注释JsonIgnoreProperty
。
(杰克逊1.4+)@JsonIgnoreProperties(类)可以用来表示 要序列化和/或忽略某些属性 反序列化(处理有所不同取决于哪个操作 受影响):
◦String[] value()定义要忽略的逻辑属性名称(名称 派生自getter / setter名称,或通过显式注释)
◦booleanignignUnknown()定义“未知”JSON属性是否可以 在反序列化期间是否被默默地忽略;不影响 序列化。