【发布时间】:2012-06-29 05:30:37
【问题描述】:
我正在使用 Jackson 来序列化和反序列化对象。问题是有时我想显示一个字段,有时又不想。
实际上,我使用@JsonIgnore 来避免在不需要时打印该属性。当我需要它时,我正在通过
禁用该属性mapper.getSerializationConfig().disable(SerializationConfig.Feature.USE_ANNOTATIONS);
但这也会禁用我需要的其他注释。
我怎样才能得到我需要的结果?使用视图?有什么例子吗?
了解我想要什么的一点点:
class User {
private String username;
@JsonIgnore
private String password;
// getter setter
}
writeToDB() {
mapper.getSerializationConfig().disable(SerializationConfig.Feature.USE_ANNOTATIONS);
mapper.writeValueAsString(user);
}
通过 REST API,您可以在没有密码的情况下获取用户名(感谢 JsonIgnore)
【问题讨论】: