Java 如何在序列化过程中忽略字段而在反序列化过程中不忽略字段?
我有一节POJO课Java 如何在序列化过程中忽略字段而在反序列化过程中不忽略字段?,java,json,serialization,jackson,deserialization,Java,Json,Serialization,Jackson,Deserialization,我有一节POJO课 class Human{ String name; Integer age; //get and set } 当我将json反序列化为Human对象时,我希望读取这两个字段(age和name值)。但是当我将Human对象序列化为json时,我想忽略age 这可能吗?国家的javadoc 另外,从Jackson 1.9开始,如果这是唯一的注释 与某个属性关联,也会导致整个 要忽略的属性:即,如果setter具有此注释并且 getter没有注释,gett
class Human{
String name;
Integer age;
//get and set
}
当我将json反序列化为Human
对象时,我希望读取这两个字段(age
和name
值)。但是当我将Human
对象序列化为json时,我想忽略age
这可能吗?国家的javadoc
另外,从Jackson 1.9开始,如果这是唯一的注释
与某个属性关联,也会导致整个
要忽略的属性:即,如果setter具有此注释并且
getter没有注释,getter也被有效地忽略<是的
不同的访问者仍然可以使用不同的注释;
所以,如果只忽略“getter”,其他访问器(setter或
字段)将需要显式注释以防止信号丢失(通常
JsonProperty)。
所以只需适当地注释getter和setter
// for serialization
@JsonIgnore
public String getName() {
return name;
}
// for deserialization
@JsonProperty("name")
public void setName(String name) {
this.name = name;
}