遍历json并解析键值对

时间:2019-02-09 21:57:55

标签: python json

我正在尝试在执行get请求之后解析键值对(fname和jobcode)。 解析键值对以执行任务的最佳方法是什么?

以下是我的“获取请求”响应

response = requests.get('url')

结果:

[
    {
        "fname": "James",
        "jobcode": "51202"
    },
    {
        "fname": "Jim",
        "jobcode": "32304"
    }
]

以这种方式尝试,得到AttributeError: 'list' object has no attribute 'items'

json_data = json.loads(response.text)
print json_data
for key, value in json_data.items():
    print key, value

我想将其翻译成[James, 51202], [Jim, 32304]之类的列表,以便我可以轻松使用。或者,我只想获取键值对,以便可以对其进行迭代。

1 个答案:

答案 0 :(得分:0)

假设:

response = [
    {
        "fname": "James",
        "jobcode": "51202"
    },
    {
        "fname": "Jim",
        "jobcode": "32304"
    }
]

如果您要对字典中的元素进行配对,则可以:

listdata = [[el[1] for el in dd.items()] for dd in response]

listdata[['James', '51202'], ['Jim', '32304']]

或者,如果您希望使用包含所有数据的纯列表(无嵌套列表):

listdata = [el[1] for dd in response for el in dd.items()]

在这种情况下,listdata['James', '51202', 'Jim', '32304']