代码之家  ›  专栏  ›  技术社区  ›  Johny19

Jackson注释覆盖父类中的注释

  •  1
  • Johny19  · 技术社区  · 8 年前

    我希望我的所有对象都有一个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
    }
    

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

    jackson有办法存档吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Alexis    8 年前

    使用

    @JsonIgnore(false)
    

    而不是

    @JsonInclude