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

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

DDD
DDD原創
2024-11-23 13:23:11484瀏覽

How to Deserialize JSON into Generic Types with Jackson?

使用Jackson 進行泛型反序列化

將JSON 資料反序列化為像Data 這樣的泛型類時,通常需要指定通用參數T。使用 mapper.readValue(jsonString, Data.class) 的標準方法不提供此功能資訊。

為了解決這個問題,Jackson 依賴 TypeReference 物件。透過專門為所需的泛型類型建立 TypeReference,您可以指導反序列化過程。

要將JSON 字串反序列化為Data 的實例,請使用匿名內部類別語法實例化TypeReference:

TypeReference<Data<String>> typeRef = new TypeReference<Data<String>>() {};

然後,將TypeReference 作為第二個參數傳遞給readValue方法:

Data<String> data = mapper.readValue(jsonString, typeRef);

此方法確保Jackson 知道要反序列化的 T的特定類型,從而產生正確的反序​​列化行為。

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

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