本文介绍了杰克逊的只写属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

In my entity class, I'm trying to make a write-only field (gets ignored during serialization, but gets de-serialized normally).

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

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

This almost gives me what I want: the JSON contains the "password" field, but the value is always null. How do I remove the field entirely?

推荐答案

使用 c $ c> getPassword ,而不是使用 NullSerializer 。然后在 setter 上使用 @JsonProperty(password)

Use @JsonIgnore on just the getter getPassword, instead of using the NullSerializer. Then also use @JsonProperty("password") on the setter.

这个应允许密码进行反序列化,但序列化的JSON输出不包括它。

This should allow password to be de-serialized, but the JSON output of serialization won't include it.

这篇关于杰克逊的只写属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-06 23:00