如何反序列化列表
使用泛型類型時,您可能會遇到使用 Google Gson 反序列化它們的困難。出現這個問題的原因是 Java 的類型擦除機制在編譯時刪除了類型信息,這使得有效反序列化泛型類型變得具有挑戰性。
一種常見的方法涉及使用 TypeToken 類別:
import java.lang.reflect.Type; import com.google.gson.reflect.TypeToken; Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType(); ArrayList<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);
當使用此方法,您可以在 TypeToken 建構子中指定泛型類型。這可以確保運行時 Type 物件捕獲參數化類型訊息,從而允許 Gson 正確反序列化泛型集合。
或者,您可以使用 TypeAdapter 介面手動處理自訂類型的反序列化和序列化。然而,這種方法需要更多的精力和程式碼維護,這使得 TypeToken 方法成為 Gson 中反序列化泛型類型的便利高效的選擇。
以上是如何使用 Gson 反序列化列表物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!