我正在使用Jackson的@JsonIdentityInfo从JSON中删除循环对象。
假设以下是Java类
Class A, B, C
以下是结构,
Class A{
int id;
B b;
C c;
}
Class B{
int id;
C c;
}
我的目标是(A)
{
id:1,
b:{
id: 2,
c:{
id: 3
}
},
c: {
id: 3
}
}
正在将对象更改为
{
id:1,
b:{
id: 2,
c:{
id: 3
}
},
c: 3
}
因为C具有相同的id, 我希望这个实现为广度优先,即第一级应该是删除对象并给予属性,但深度级别应该这样做,有没有办法让它像下面这样?
{
id:1,
b:{
id: 2,
c:3
},
c: {id:3}
}
答案 0 :(得分:2)
不,序列化继续深度优先,并且在编写JSON之前需要更改内存中的整个输出图形。