2011-10-14 250 views
3

反序列化自參考對象我有一個JSON字符串看起來就像是(簡體):與傑克遜

[ 
    { "id":1, "friends":[2] }, 
    { "id":2, "friends":[1,3] }, 
    { "id":3, "friends":[] } 
] 

在朋友的內容在列表中的其他用戶的標識。

是否有可能以某種方式來創建類似下面從JSON只是使用數據綁定傑克遜一個Java類還是我需要爲一箇中間步驟?

public class User { 
    private long userid; 
    private List<User> friends; 
// ... getters/setters 

感謝您的幫助。

回答

0

沒有做到這一點完全註釋的方式,所以你需要定製JsonSerializer/JsonDeserializer。傑克遜1.9增加了two new features可能會有所幫助:

  • ValueInstantiators,這樣你就可以添加構造函數解串器從基本整數轉換成POJO
  • 價值注入,所以你可以通過額外的上下文對象(你需要找到IDS已經解串器物體,然後映射整數到實例)

但我不是100%確定如何將這兩個特性結合起來用於特定用途的情況下...

+0

謝謝,我會考慮這一點。 – baumratte