我使用休眠方式检索兄弟列表
public class Brother {
public int brotherId;
public string name;
public List<Brother> brothers;
public Brother()
{
brothers = new ArrayList<Brother>();
}
//Getter Setter
}
Hibernate是在兄弟列表中使用惰性选择配置的,在Java端这是可行的,但是问题是当我想将Brother对象序列化为JSON时。
I've got org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError)
例如,布莱恩(Bryan)可以将马克(Mark)当作兄弟,反之亦然...
我该如何解决?有什么方法可以指示对杰克逊库的最大递归次数?
我的代码,真的很简单。
Brother brother = this.myservice.getBrother(4);
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(brother));
由于通函参考出现问题。
由于
Jackson 1.6
您可以使用两个批注来解决无限递归问题,而无需在序列化过程中忽略getter / setter:@JsonManagedReference和@JsonBackReference。
请参考这里了解更多
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句