Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在序列化过程中忽略字段而在反序列化过程中不忽略字段?_Java_Json_Serialization_Jackson_Deserialization - Fatal编程技术网

Java 如何在序列化过程中忽略字段而在反序列化过程中不忽略字段?

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

我有一节POJO课

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;
}