我使用Jackson JAX-RS提供商发现自己处于一个奇怪的地方。说我有两个简单的类;
class A {
public class A() {}
public B b;
}
class B {
public class B() {}
public A a;
}
我确实创建了一些实例;
A a = new A();
B b = new B();
a.b = b;
b.a = a;
基本上是反向链接。如果我尝试序列化这个,我得到预期的堆栈溢出,因为它永远追逐循环引用。这显然是一个人为的例子,但它很好地再现了这个问题。我想做的是以某种方式告诉杰克逊不要超过1级,所以在我的例子中,我期待类似的东西;
{
"b": {
// don't serialize a again, but DO serialize every other property on b
}
}
这可行吗?我是否坚持做一个丑陋的对象映射以使其工作?
答案 0 :(得分:0)
可悲的是,阴影物体成为唯一可行的选择..