2014-02-12 67 views
0

我有一個嵌套的數據結構,其中層次結構下的相同的對象多次使用。我想要的結果是,當通過Jackson序列化它時,它以某種方式被檢測到,而不是一個對象已經被寫入輸出,而不是再次序列化對象,它的ID被使用。什麼是一個簡單的方法來替換重複的對象序列化在傑克遜的ID

是傑克遜能夠爲我做到這一點,還是我必須手動實現?

實施例:

AddressBook 
    | 
    Person 
    | 
    Tag 

很多人都可以具有相同的標籤。我只需要在JSON輸出中使用一次Tag對象。

回答

0

手動實現看起來非常簡單 - 只需要一個包含所有Tag對象的HashSet。然後,在序列化時,如果一個對象的標籤已經包含在該集合中,那麼就知道它已經被序列化了。