Jackson提供了@JsonIgnoreProperties
注释,可用于从类中的序列化或该类所拥有的字段中排除属性。不幸的是,它不允许排除嵌套属性(即:后代的属性)。
给出以下物体heirarchy:
static class Innermost {
public String innerField0 = "c";
public String innerField1 = "d";
}
static class Nested {
public Innermost next = new Innermost();
}
static class Top {
@JsonIgnoreProperties({"next.innerField1"}) // no effect
public Nested next = new Nested();
}
是否有一种机制允许innerField1
从Top
类型的序列化中排除,而不会将其从Nested
或Innermost
类型的序列化中排除?< / p>
理想情况下,Innermost
,Nested
和Top
的序列化分别如下所示:
{"innerField0":"c","innerField1":"d"}
{"next":{"innerField0":"c","innerField1":"d"}}
{"next":{"next":{"innerField0":"c"}}}
我正在使用Jackson版本2.8.1