在Python中从数组中提取键值

时间:2017-03-28 21:14:22

标签: arrays python-2.7 python-requests

我试图从使用请求库执行GET请求后返回的数组中提取特定键值。以下是从GET请求返回的内容示例:

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

这就是我的代码。我试图提取所有'id'键值:

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格式返回的数据。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分: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'])