首頁  >  文章  >  Java  >  如何使用 Jackson 將 JSON 反序列化為通用類別?

如何使用 Jackson 將 JSON 反序列化為通用類別?

DDD
DDD原創
2024-11-19 01:35:03677瀏覽

How Can I Deserialize JSON into a Generic Class with Jackson?

使用Jackson 進行泛型類反序列化

當嘗試將JSON 資料反序列化為像Data 這樣的泛型類時,會出現下列問題:如何指定型別參數T。典型的做法是使用mapper.readValue(jsonString, Data.class)只建構一個Data實例,但T的具體型別未知。

解決方案

Jackson 透過 TypeReference 類別提供了解決方案。透過為所需的泛型類型建立 TypeReference 物件並將其傳遞給 readValue 方法,我們可以明確指定類型參數。

mapper.readValue(jsonString, new TypeReference<Data<String>>() {});

在此範例中,為泛類型 Data 建立了 TypeReference ;,確保反序列化的物件將是 T 設定為 String 的 Data 實例。

以上是如何使用 Jackson 將 JSON 反序列化為通用類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn