如何遍历JSON项和JSON子项

2024-09-29 23:29:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下JSON输入

{
    "requestId": "453sdafwa234",
    "result": [
        {
            "seq": 0,
            "GUID": "081119bd-63a8-42ca-85de-5b4761234955",
            "amount": 1234,
            "externalId": "1234567890",
            "Status": "OK"
        },
        {
            "seq": 1,
            "GUID": "011119bd-42ca-63a8-85de-5b47111a8955",
            "amount": 5678,
            "externalId": "2345678901",
            "Status": "OK"
        }]
}

我想遍历所有result,然后输出externalId键值。你知道吗

我试过了

json_op = json.loads(json_string)

for op in json_op:
    for r in op["result"]:
      print r["externalId"]

但没用。你知道吗

我也试过了

json_op = json.loads(json_string)

for op in json_op:
    r.get["result"].get["externalId"]

但这也不管用。正确的方法是什么?你知道吗


Tags: injsonforgetstringstatusokresult
3条回答
import json

s = """{
    "requestId": "453sdafwa234",
    "result": [
        {
            "seq": 0,
            "GUID": "081119bd-63a8-42ca-85de-5b4761234955",
            "amount": 1234,
            "externalId": "1234567890",
            "Status": "OK"
        },
        {
            "seq": 1,
            "GUID": "011119bd-42ca-63a8-85de-5b47111a8955",
            "amount": 5678,
            "externalId": "2345678901",
            "Status": "OK"
        }]
}"""

json_op = json.loads(s)

for item in json_op['result']:
    print(item['externalId'])

输出:

1234567890
2345678901

好的。首先,必须在代码开头导入json库。你知道吗

然后,您没有正确地迭代dictionary对象。你知道吗

如果您想读取requestId密钥,只需编写

print(json_op['requestId'])

对于迭代结果:

json_op = json.loads(s)

print(json_op['requestId'])

for res in json_op['result']:
    print(res['seq'])
    print(res['GUID'])
    print(res['amount'])
    ...

试着告诉我一些事情。我现在不能运行代码。你知道吗

for i in json_op["result"]:
    print (i["externalId"]) 

这很管用。你知道吗

相关问题 更多 >

    热门问题