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

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

DDD
發布: 2024-11-20 11:41:19
原創
616 人瀏覽過

How to Deserialize JSON into a Generic Class with Jackson?

使用 Jackson 的泛型類型反序列化 JSON

問題:如何使用 Jackson 將 JSON資料反序列化為泛型類別?

考慮以下範例類別:

class Data<T> {
    int found;
    Class<T> hits
}
登入後複製

使用 mapper.readValue(jsonString, Data.class) 的標準 JSON 反序列化嘗試將會失敗。為了正確地反序列化數據,我們需要指定類型參數

答案:Jackson提供了一個TypeReference類別來在反序列化過程中處理泛型類型。要使用它:

  1. 為泛型類別建立一個 TypeReference 物件。在此範例中,Data的類型引用為:將為:

    new TypeReference<Data<String>>() {}
    登入後複製
  2. 將TypeReference 物件傳遞給readValue 方法:

    mapper.readValue(jsonString, new TypeReference<Data<String>>() {});
    登入後複製

這將正確地將JSON 資料反序列化為Data 的實例。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板