如何获取多层深度的 python 请求 json 响应

问题描述 投票:0回答:1

我有一个返回 json 的 python 请求,但我正在努力了解如何访问深层数据,json 像这样发回:

{"ticket":{"custom_field":[{"id": 341434334343125, "value": 454425424}, {"id": 452452432445, "value": 53653635463}]}}

响应还有更多内容,但这就是结构,我需要能够查看票据[“custom_field”] [“id”] = 341434334343125然后获取该id的值?

我尝试了很多方法,但似乎总是会导致: 类型错误:列表索引必须是整数或切片,而不是 str

有人可以给我吗?今天我的大脑遇到了对手!

谢谢你

这是许多不同的尝试之一:

r1 = 响应.json() 票证 = r1["票证"]["自定义字段"] 对于票中的键、值: 打印(键[“id”])

python json python-requests
1个回答
0
投票

假设

r1
是您可以执行的问题的解码 Json 响应:

r1 = {
    "ticket": {
        "custom_field": [
            {"id": 341434334343125, "value": 454425424},
            {"id": 452452432445, "value": 53653635463},
        ]
    }
}

to_find = 341434334343125

for d in r1["ticket"]["custom_field"]:
    if d["id"] == to_find:
        print(d["value"])
        break
else:
    print(f"id={to_find} not found")

打印:

454425424
© www.soinside.com 2019 - 2024. All rights reserved.