jackson的只写属性

在我的实体类中,我正在尝试创建一个只写字段(在序列化期间被忽略,但是通常会被反序列化)。

@JsonProperty @JsonSerialize(using=NullSerializer.class) public String getPassword() { return password; } 

几乎给了我想要的东西:JSON包含“password”字段,但值始终为null。 如何完全删除该字段?

仅在getter getPassword上使用@JsonIgnore ,而不是使用NullSerializer 。 然后在setter上使用@JsonProperty("password")

这应该允许password被反序列化,但序列化的JSON输出将不包括它。

例如,一个“getter”方法,否则表示一个属性(比如说,“getValue”来建议属性“value”)来序列化,将被忽略,除非另一个注释定义了另一种方法,否则不会输出这样的属性。 。

您可以设置access值:

 @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String password;