Gson 的 TypeToken 是處理特定類型 JSON 資料的便利工具。但是,在處理其項目類型在運行時動態分配的 ArrayList 時,它面臨限制。本文深入研究了解決此挑戰的解決方法,透過反射創建具有不同項目類型的 ArrayList。
最初,嘗試使用自訂 TypeToken 實作來實現此目的,但事實證明,作為例外,它不成功JSON解析的時候出現了「java.sql.SQLException: Fail to conversion to Internalrepresentation」。
解決方案在於Gson的更高版本,其中TypeToken提供#getParameterized 方法。此方法允許使用自訂類型參數建立 TypeToken。在這種情況下,目標是建立一個 TypeToken 來表示具有特定的動態決定的項目類型「myClass」的 ArrayList。更新後的程式碼片段採用以下形式:
TypeToken.getParameterized(ArrayList.class, myClass).getType()
這種新方法有效地產生與所需的動態ArrayList 結構相匹配的TypeToken,解決了先前的限制,並支援將JSON 資料無縫轉換為ArrayList動態指派的項目類型。
以上是如何將 Gson 的 TypeToken 與動態 ArrayList 項目類型結合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!