2016-06-07 30 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之前。