@JsonIgnore 是 Jackson 库中的一个注解,用于在序列化和反序列化过程中指示某个字段应被忽略
。这意味着在将 Java 对象转换为 JSON 时,被标注的字段不会出现在生成的 JSON 中;同样,在从 JSON 反序列化为 Java 对象时,也会忽略这个字段。
主要用途
- 隐藏敏感数据:在处理包含敏感信息的对象(如密码、密钥等)时,可以使用 @JsonIgnore 来确保这些字段不会被外部可见。
- 避免循环引用:在对象间存在循环引用的情况下,使用 @JsonIgnore 可以避免在序列化时产生无限递归。
- 简化 JSON 结构:有时,您可能不希望某些字段出现在最终的 JSON 输出中,这时可以通过此注解来简化结果。
示例代码
import com.fasterxml.jackson.annotation.JsonIgnore; public class User { private String username; @JsonIgnore private String password; // getters and setters }
复制
在这个示例中,password 字段将被忽略,因此生成的 JSON 对象不会包含此字段。