2017-03-28 99 views
0

我想從使用請求庫執行GET請求之後返回的數組中提取特定的鍵值。以下是GET請求返回的示例:從Python中的數組拉取鍵值

{ 
    'response': { 
    'members': [ 
     { 
     'id': 5562221, 
     'pacing': False, 
     'file_name': None, 
     'id': 5562227, 
     'pacing': False, 
     'file_name': None, 
     }] 

這就是我的代碼的樣子。我試圖把所有的「身份證」的鍵值:

response = requests.get(url, headers=header) 

member_advert_list = json.loads(response.text) 

final_member_list = member_advert_list["response"]["members"]["id] 

print final_member_list 

運行我的代碼後,我收到一個「字符串索引必須是整數,而不是STR」的錯誤。我是否以這種錯誤的方式去做?我是否還需要運行循環來提取這些「Id」鍵值?我在這裏看到了關於python中這個錯誤消息的類似問題,但是我的情況有點不同,因爲我試圖從GET請求中獲取以JSON格式返回的數據。先謝謝您的幫助。

+0

我不明白爲什麼你的代碼上的數據結構和'廣告素材'上有'members'。 – fedeisas

+0

複製並粘貼我糾正的錯誤。謝謝。 – user7681184

回答

0

此代碼將給出所有ID的列表。

import json 
string = '{"response":{"members":[{"id": 123}, {"id": 456}]}}' # simplified data structure 
data = json.loads(string) 
ids = map(lambda x: x['id'], data['response']['members']) 
+0

感謝您的迴應,您能解釋一下「a」應該在這裏做什麼嗎?這應該是一個佔位符嗎? – user7681184

+0

@ user7681184對不起,這是一個可變的錯字。 – fedeisas