我正在尝试过滤嵌套的Object属性。嵌套对象使用@JsonFilter注释。我无法过滤特定于子过滤器的Bar。条形过滤器适用于所有孩子。我的JSON结构如下:
public class Parent {
private Bar bar;
@JsonProperty("bar")
public Bar getBar() {
//Some logics here
//returning bar
}
}
@JsonFilter("myFilter1")
public class Child1 extends Parent {
//some properties
}
@JsonFilter("myFilter2")
public class Child2 extends Parent {
//some properties
}
@JsonFilter("Bar")
public class Bar {
private Map<String, Object> field1;
public Bar(Map<String, Object> field1) {
this.field1 = field1;
}
@JsonAnyGetter
public Map<String, Object> getField1() {
return field1;
}
}
我的问题是:如何仅对child1而不对child2过滤field1 我尝试过如下过滤:
provider.addFilter(Bar, SimpleBeanPropertyFilter.serializeAllExcept("x");
,但在child2对象中也用x过滤。 预期输出:
Bar
filter1
{
y:20
}
filter1
{
x:10
y:20
}