Jackson注释覆盖父类中的注释

时间:2016-06-15 15:32:56

标签: java json jackson override parent

我希望我的所有对象都有一个ID,我希望将它序列化为某个子类但不能用于其他一些

例如:

public class A {
  protected Long id;
  ..getter and setter
}

public class B extends A {

  @Override
  @JsonIgnore
  public Long getId() {..}

  @Override
  @JsonIgnore
  public void setId(Long id) {..}

}

public class C extends B {

  @Override
  @JsonInclude
  public Long getId() {..}

  @Override
  @JsonInclude
  public void setId(Long id) {..}
}

public class Test {

  Set<C> tests ...
  ..getter setter
}

我尝试过序列化测试,但JSON字符串不包含ID 如果我从B中删除JsonIgnore,那么在那种情况下,Ids就在那里。

杰克逊有办法存档吗?

1 个答案:

答案 0 :(得分:1)

使用

@JsonIgnore(false)

而不是

@JsonInclude