2016-06-07 47 views
2

我使用傑克遜的@JsonIdentityInfo從JSON中刪除循環對象。傑克遜的@JsonIdentityInfo廣度優先

假設以下是

{ 
    id:1, 
    b:{ 
      id: 2, 
      c:{ 
      id: 3 
      } 
    }, 
    c: { 
     id: 3 
    } 
} 

它改變對象

{ 
     id:1, 
     b:{ 
       id: 2, 
       c:{ 
       id: 3 
       } 
     }, 
     c: 3 
    } 

因爲Java類 Class A, B, C 和下面的結構,

Class A{ 
    int id; 
    B b; 
    C c; 
} 
Class B{ 
    int id; 
    C c; 
} 

我的目的是(A) C有相同的ID, 我希望這可以實現爲廣度優先即第一級應該是刪除對象,並給予財產,但深度級應該這樣做,有沒有辦法讓它像下面?

{ 
      id:1, 
      b:{ 
        id: 2, 
        c:3 
      }, 
      c: {id:3} 
     } 

回答

2

否,系列化進行深度優先,並改變將要求潛在緩衝在存儲器中的整個輸出圖形寫入JSON之前。