2013-11-27 39 views
0

我一直在瀏覽互聯網,嘗試找到一個良好的Java to Json庫,它可以保留對java對象內對象的引用。這兩個庫我一直在尋找有:Java to Json保存參考文獻

  • 傑克遜
  • GSON

這裏是什麼,我想保持一些簡單的代碼:

public class SaveMe 
{ 
    public User previous = null; 
    public User next = null; 
} 

public class User 
{ 
    public int id; 
    public String name; 
    public User(int id, String name) 
    { 
     this.id = id; 
     this.name = name; 
    } 
} 

採取的是這樣的:

SaveMe saveMe = new SaveMe(); 
User previousAndNext = new User(); 
saveMe.previous = previousAndNext; 
saveMe.next = previousAndNext; 

在這種情況下,我有一個saveMe對象,前一個和下一個對象指向同一個對象。我想找到一種方法將對象轉換爲Json,然後再返回,同時保持previousnext上的對象指向同一User對象。

我曾試圖與Gson和傑克遜,但還沒有找到一種方法來正確地做到這一點。當我將json轉換回Java對象時,該對象在我的saveMe對象中有兩個User對象的副本,而不僅僅是一個引用。

編輯:

感謝@dnault和@StaxMan他們的反應。使用@JsonIdentityInfo的文檔鏈接非常直接。有沒有什麼辦法可以在Gson做類似的事情?我對Gson更加熟悉,並且已經在我當前的代碼中實現了它。我確信傑克遜的方式可以滿足我的需求,但我只是想知道是否有辦法在Gson中做到這一點。

+1

http://wiki.fasterxml.com/JacksonFeatureObjectIdentity – dnault

回答