2017-10-13 41 views
0
獲取各種物品

我從IMDB以下JSON從JSON

Json

代碼如下所示:

import json, requests 
url=('http://www.theimdbapi.org/api/find/movie?title=transformers&year=2007') 
response = requests.get(url) 
dict_values = json.loads(response.text) 

如何從它(['title']["budget"]["release_date"]提取不同的值等等)(如使用grep進行過濾)

>>> type(dict_values) 
<type 'list'> 

我這樣做:

>>> print(dict_values['title']) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: list indices must be integers, not str 

我假設值[「標題」] [「預算」] [「上映時間」]等等都在裏面字典鍵說是裏面有個名單內字典或其他類型的東西:) ...我無法弄清楚它

+2

1.請求爲您反序列化JSON,使用'response.json()'。 2.鑑於你明確地檢查並找到了一個列表,*你爲什麼試圖用一個字符串來索引它?!* JSON數組變成了列表,你可以按順序編制索引。 – jonrsharpe

+0

首先,不要使用變量名稱'dict_values'來表示一個對象的類型是非字典。雖然我沒有使用這個API,但我想象一下,如果你遍歷返回結果的* list *,你會發現單個列表元素,然後你可以檢索像'title'這樣的東西的值。 – n1c9

回答

0

根據評論,你可以迭代結果列表中的元素,並獲得你正在尋找的參數:

titles = [result["title"] for result in results] 

等等......