[英]Jackson 2.* and json to ArrayList<>
我正在嘗試將Json數組反序列化為對象的ArrayList。 我找到了一些關於我正在嘗試做什么的文檔,但是我在編譯時遇到了錯誤。
以下是我試圖用Jackson 2.2.2來解決它的方法:
ArrayList<Friends> list = objectMapper.readValue(result, new TypeReference<ArrayList<Friends>>() {});
我得到的錯誤是:
The method readValue(String, Class<T>) in the type ObjectMapper is not applicable for the arguments (String, new TypeReference<ArrayList<Friends>>(){})
我猜測我讀過的一些參考文獻是基於傑克遜的舊版本。 如何在Jackson 2.2 +中實現這一目標
請嘗試以下方法:
JavaType type = objectMapper.getTypeFactory().constructCollectionType(ArrayList.class, Friends.class);
ArrayList<Friends> friendsList = objectMapper.readValue(result, type);
請注意,我從以下答案中提取了這個: Jackson和泛型類型參考
從Jackson 1.3開始( TypeFactory
),他們建議您使用TypeFactory
。
編輯
在進一步檢查時,你上面的內容對我TypeReference
......我能夠將TypeReference
子類傳遞給readValue
,一切正常。 您確定已導入正確類型的TypeReference
嗎? 通常這些類型的錯誤是偶然導入錯誤的類型(其他一些庫可能有一個TypeReference
類)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.