杰克逊:如何防止字段序列化

2022-08-31 06:42:42

我有一个带有密码字段的实体类:

class User {
    private String password;

    //setter, getter..
}

我希望在序列化过程中跳过此字段。但它仍然应该能够反序列化。这是必需的,以便客户端可以向我发送新密码,但无法读取当前密码。

我如何与杰克逊一起完成这项工作?


答案 1

您可以将其标记为 .@JsonIgnore

在 1.9 中,您可以为 getter 添加,为 setter 添加,使其反序列化但不序列化。@JsonIgnore@JsonProperty


答案 2

说明StaxMan所说的,这对我有用

private String password;

@JsonIgnore
public String getPassword() {
    return password;
}

@JsonProperty
public void setPassword(String password) {
    this.password = password;
}