Java Jackson:JsonIdentityInfo只序列化一个子元素的深度
出于某种原因,JsonIdentityInfo序列化一个子项的深度,而不是另一个子项的深度。我的例子是:Java Jackson:JsonIdentityInfo只序列化一个子元素的深度,java,java-8,jackson,jackson2,Java,Java 8,Jackson,Jackson2,出于某种原因,JsonIdentityInfo序列化一个子项的深度,而不是另一个子项的深度。我的例子是: @JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id") class A { private long id; private B last; // Getters, setters... } @JsonIdentityInfo(generator
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id")
class A {
private long id;
private B last;
// Getters, setters...
}
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id")
class B {
private long id;
private A a;
private C c1;
private C c2;
// Getters, setters...
}
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id")
class C {
private long id;
private Set<A> as;
private B last;
// Getters, setters...
}
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class,property=“id”)
甲级{
私人长id;
二等兵B末;
//能手,二传手。。。
}
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class,property=“id”)
B类{
私人长id;
私人A;
私人c1;
私人c2;
//能手,二传手。。。
}
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class,property=“id”)
C类{
私人长id;
私人设置为;
二等兵B末;
//能手,二传手。。。
}
I序列化对象B
它将子对象A
序列化到某个深度,将c1
序列化到几个深度。但是c2
仅获取参考
我想要
A;c1;c2代码>仅序列化到第一个深度,或者也包括c2
,而不考虑深度。只需在类B
中的属性c1
和c2
上使用
注释即可。i、 e
@JsonIdentityInfo(generator =
ObjectIdGenerators.IntSequenceGenerator.class, property = "id")
class B {
private long id;
private A a;
@JsonUnwrapped
private C c1;
@JsonUnwrapped
private C c2;
// Getters, setters...
}