首頁 >Java >java教程 >如何使用 GSON 將 JSON 陣列解碼為物件集合?

如何使用 GSON 將 JSON 陣列解碼為物件集合?

Linda Hamilton
Linda Hamilton原創
2024-12-20 22:38:10132瀏覽

How to Decode a JSON Array into a Collection of Objects Using GSON?

使用GSON 解碼巢狀資料結構

提供的JSON 資料表示一個物件數組,而解碼程式碼預期的是單一物件ChannelSearchEnum 類別物件。這種不匹配會導致「預期是 BEGIN_OBJECT,但實際上是 BEGIN_ARRAY」異常。

要解決此問題,需要修改解碼方法以處理物件陣列。一種合適的方法是將 TypeToken 類別與 fromJson 方法結合使用。

Type collectionType = new TypeToken<Collection<ChannelSearchEnum>>(){}.getType();
Collection<ChannelSearchEnum> enums = gson.fromJson(json, collectionType);

此程式碼為 ChannelSearchEnum 物件的集合建立類型令牌,然後在反序列化期間使用它來指定所需的類型。因此,GSON 將正確解析 JSON 陣列並填入包含各個 ChannelSearchEnum 實例的 Collection。

以上是如何使用 GSON 將 JSON 陣列解碼為物件集合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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