Jackson 注释覆盖 parent class 中的注释
Jackson annotation to override the one in parent class
我希望我所有的 objects 都有一个 ID,我希望为一些 child class 序列化它,但不为其他一些
例如:
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,那么在这种情况下 ID 就在那里。
jackson 有办法存档吗?
使用
@JsonIgnore(false)
而不是
@JsonInclude
我希望我所有的 objects 都有一个 ID,我希望为一些 child class 序列化它,但不为其他一些
例如:
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,那么在这种情况下 ID 就在那里。
jackson 有办法存档吗?
使用
@JsonIgnore(false)
而不是
@JsonInclude