在我的实体类中,我正在尝试创建一个只写字段(在序列化期间被忽略,但会被正常反序列化)。
@JsonProperty
@JsonSerialize(using=NullSerializer.class)
public String getPassword() {
return password;
}
这个几乎给了我想要的东西:JSON包含“password”字段,但值始终为null。如何完全删除该字段?
答案 0 :(得分:10)
仅在 getter getPassword
上使用@JsonIgnore
,而不是使用NullSerializer
。然后在 setter 上使用@JsonProperty("password")
。
这应该允许password
反序列化,但序列化的JSON输出将不包含它。
例如,一个“getter”方法否则表示要序列化的属性(比如说,“getValue”来建议属性“value”)将被忽略,除非另一个注释定义了替代,否则不会输出这样的属性使用方法。
答案 1 :(得分:8)
您可以设置access
值:
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;