簡體   English   中英

使用Jackson反序列化自引用對象

[英]Deserialize self referencing objects with Jackson

我有一個類似的JSON字符串(簡化):

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

朋友的內容是列表中其他用戶的ID。

有可能以某種方式使用傑克遜的數據綁定創建一個類似下面的Java類,或者我需要一個中間步驟嗎?

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

謝謝你的幫助。

沒有完全注釋的方法,所以你需要自定義JsonSerializer / JsonDeserializer。 Jackson 1.9增加了兩個可能有用的新功能

  • ValueInstantiators,因此您可以為反序列化器添加構造函數以將基本整數轉換為POJO
  • 值注入,這樣你就可以傳遞額外的上下文對象(你需要找到已經反序列化器對象的id,然后從整數映射到實例)

但是,我不是100%確定如何將這兩個功能結合起來用於特定用例......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM