2017-04-19 55 views
1

我建立一個Android應用程序從themoviedb.org.如何將表示爲字符串的列表轉換爲列表?

讀我所要做的是讓用戶輸入影片名,並使用該稱號找到其ID。

當我運行查詢來搜索電影,我得到這樣的迴應:

{ 
    "page": 1, 
    "results": [ 
     { 
      "poster_path": "aaaaa.jpg", 
      "id": "11", 
      "description": "MovieDescription" 
     }, 
     { 
      "poster_path": "bbbbb.jpg", 
      "id": "12", 
      "description": "MovieDescription2" 
     }, 
     { 
      "poster_path": "ccccc.jpg", 
      "id": "13", 
      "description": "MovieDescription" 
     } 
    ] 
} 

使用Maven的JSON庫,我可以取results鍵使用json.get("results")字符串。

返回:

[ 
    { 
     "poster_path": "aaaaa.jpg", 
     "id": "11", 
     "description": "MovieDescription" 
    }, 
    { 
     "poster_path": "bbbbb.jpg", 
     "id": "12", 
     "description": "MovieDescription2" 
    }, 
    { 
     "poster_path": "ccccc.jpg", 
     "id": "13", 
     "description": "MovieDescription" 
    } 
] 

但我想第一這些結果轉化爲另JSONObject,這樣我可以從第一個結果得到了電影的ID。

我在想這樣做的方法是將results值轉換爲列表JSONObject,然後在列表中的第一個對象上使用json.get("id")方法。但我不知道如何做這種轉換。

任何幫助,將不勝感激。

+0

的「成果」只是一個JSON數組,你需要轉換的'JSONObject'到一個「JSON數組」對象(對不起,沒有API可用),然後應該允許你訪問各個方法 – MadProgrammer

+0

哦,我想這使得它更容易,謝謝!我剛剛使用JSONArray.get(0)從JSONArray中的第一項創建了一個新的JSONObject。謝謝一堆! – kyrolen

回答

1

您可以使用JSONObject.getJSONArray直接得到的結果作爲一個JSON數組:

JSONArray results = json.getJSONArray("results") // Get results as JSON Array 
JSONObject first = results.getJSONObject(0) // Get first object as JSON Object 

參見:JSONObject#getJSONArray(String)

+0

這幫了很多,謝謝! – kyrolen

+0

@kyrolen不用客氣,如果你接受我的回答,會很棒。請參閱http://stackoverflow.com/help/someone-answers –

相關問題