[英]How avoid infinite loop during Json Serialization in Java
我使用hibernate檢索兄弟列表
public class Brother {
public int brotherId;
public string name;
public List<Brother> brothers;
public Brother()
{
brothers = new ArrayList<Brother>();
}
//Getter Setter
}
Hibernate是在兄弟列表中使用lazy select配置的,這在Java端工作,但問題是當我想將一個Brother對象序列化為JSON時。
I've got org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError)
例如布萊恩可以讓馬克作為一個反面的兄弟......
我怎么解決呢? 有沒有辦法表明傑克遜圖書館的最大遞歸數?
我的代碼,很簡單。
Brother brother = this.myservice.getBrother(4);
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(brother));
因循環參考而產生問題。
從
Jackson 1.6
您可以使用兩個注釋來解決無限遞歸問題,而不會在序列化期間忽略getter / setter: @JsonManagedReference和@JsonBackReference 。
請參閱此處了解更多
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.