gpt4 book ai didi

java - jackson 的@JsonIdentityInfo 广度优先

转载 作者:行者123 更新时间:2023-11-30 08:36:33 25 4
gpt4 key购买 nike

我正在使用 Jackson 的 @JsonIdentityInfo 从 JSON 中删除循环对象。

假设以下是 Java 类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}
}

最佳答案

不,序列化是按深度优先进行的,而改变这一点可能需要在写入 JSON 之前在内存中缓冲整个输出图。

关于java - jackson 的@JsonIdentityInfo 广度优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37672242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com