【问题标题】:How to convert not all attributes from a java object to json using jackson object mapper [duplicate]如何使用jackson对象映射器将并非所有属性从java对象转换为json [重复]
【发布时间】:2016-06-21 06:49:48
【问题描述】:

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

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

到目前为止一切正常。

我的问题是对象中有很多属性我不想暴露给 json 节点,比如列表。有没有办法只选择所需的属性?

【问题讨论】:

  • 什么是“部分对象”?
  • 我指的不是转换对象的所有属性

标签: java json jackson


【解决方案1】:

你能用JsonIgnore注释字段吗?

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

@JsonIgnore(方法/字段):用于完全忽略的注解 带注解的方法,不管自动检测还是其他注解

编辑:或使用注释JsonIgnoreProperty

(Jackson 1.4+) @JsonIgnoreProperties (class) 可以用来表示 某些属性将被忽略以进行序列化和/或 反序列化(处理方式因操作而异 受到影响):

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

◦boolean ignoreUnknown() 定义“未知”JSON 属性是否可以 在反序列化过程中是否被忽略;不影响 序列化。

【讨论】:

    猜你喜欢
    • 2018-07-19
    • 2012-10-27
    • 1970-01-01
    • 2019-07-09
    • 2021-07-27
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2013-03-25
    相关资源
    最近更新 更多