我正在使用 Jackson 来序列化和反序列化对象。问题是有时我想显示一个字段,有时不想。
实际上,我正在使用 @JsonIgnore 来避免在不需要时打印该属性。当我需要它时,我正在通过
mapper.getSerializationConfig().disable(SerializationConfig.Feature.USE_ANNOTATIONS);
但这也会禁用我需要的其他注释。
我怎样才能得到我需要的结果?使用视图?有什么例子吗?
一点pojo来了解我想要什么:
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)