我一直在瀏覽互聯網,嘗試找到一個良好的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,然後再返回,同時保持previous
和next
上的對象指向同一User
對象。
我曾試圖與Gson和傑克遜,但還沒有找到一種方法來正確地做到這一點。當我將json轉換回Java對象時,該對象在我的saveMe
對象中有兩個User
對象的副本,而不僅僅是一個引用。
編輯:
感謝@dnault和@StaxMan他們的反應。使用@JsonIdentityInfo的文檔鏈接非常直接。有沒有什麼辦法可以在Gson做類似的事情?我對Gson更加熟悉,並且已經在我當前的代碼中實現了它。我確信傑克遜的方式可以滿足我的需求,但我只是想知道是否有辦法在Gson中做到這一點。
http://wiki.fasterxml.com/JacksonFeatureObjectIdentity – dnault