0
我從Web服務中提取JSON字符串,這是以下版本中的樣式。根據在get中發送的內容,顯示id的JSON字符串字段將是任意的。我用gson跟蹤了一些例子,他們討論瞭如何使用json並將其運行到一個對象中以處理任意字段值。 How to decode JSON with unknown field using Gson?和Dealing with randomly generated and inconsistent JSON field/key names using GSONGSON 2.0+ - 反序列化和解析任意字段
我的問題是,一旦我創建它來拉出特定字段,我該如何處理該對象。我有一個自定義的類來從對象(id,名稱,配置文件)等內部拉取值,但我迷失在如何能夠引用這兩者,或者我將如何從對象中提取信息變成一個數組列表或類似的東西。
{
"415943": {
"id": 415943,
"name": "Zoro Roronoa",
"profileIconId": 580,
"revisionDate": 1390848107000,
"summonerLevel": 30
},
"19758386": {
"id": 19758386,
"name": "Zoro",
"profileIconId": 535,
"revisionDate": 1390855130000,
"summonerLevel": 30
}
}
Main.java
Gson gson = new Gson();
Object o = gson.fromJson(jsonStatsString, Object.class);
我一直得到錯誤'「預期的BEGIN_ARRAY,但是在BEGIN_OBJECT第1行第2列」 – Razgriz231
這是因爲它看起來像JSON不是一個數組,而是一個包含多個對象的對象。我只需要返回字符串並用[]替換外部{},以便它是一個數組。那麼它應該工作。 – brwngrldev
我沒有最終使用列表對象,但您的答案中的「TypeToken」部分就是我一直在尋找的東西。 – Razgriz231