使用 Jackson 的泛型類型反序列化 JSON
問題:如何使用 Jackson 將 JSON資料反序列化為泛型類別?
考慮以下範例類別:
class Data<T> { int found; Class<T> hits }
使用 mapper.readValue(jsonString, Data.class) 的標準 JSON 反序列化嘗試將會失敗。為了正確地反序列化數據,我們需要指定類型參數
答案:Jackson提供了一個TypeReference類別來在反序列化過程中處理泛型類型。要使用它:
為泛型類別建立一個 TypeReference 物件。在此範例中,Data
new TypeReference<Data<String>>() {}
將TypeReference 物件傳遞給readValue 方法:
mapper.readValue(jsonString, new TypeReference<Data<String>>() {});
這將正確地將JSON 資料反序列化為Data
以上是如何使用 Jackson 將 JSON 反序列化為通用類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!