打印json值python

时间:2018-03-29 04:51:16

标签: json python-3.6

这是我的请求的json结果

{
"name": "North America",
"region_tag": "na1",
"hostname": "prod.na1.lol.riotgames.com",
"services": [
    {
        "status": "online",
        "incidents": [
            {
                "active": true,
                "created_at": "2018-03-22T10:53:03.397Z",
                "id": 7636
            }
        ]
    }
]

}

我想从status

打印出services的值

我的代码

    link = "https://na1.api.riotgames.com/lol/status/v3/shard-data?api_key={}".format(API_KEY)
    rq_link=rq.get(link).text
    rq_json=json.loads(rq_link)

我已经尝试了

print(rq_json['services']['status])

我收到错误TypeError: list indices must be integers or slices, not str

除了使用for循环

之外,还有其他方法吗?

for post in rq_json['services']: print(rq_json['status'])

2 个答案:

答案 0 :(得分:1)

您正在寻找

的答案
rq_json['services'][0]['status']

因为,列表中描述了服务部分,您需要指定一个索引进入内部字典

答案 1 :(得分:1)

您可以使用列表理解:

[print(service['status']) for service in rq_json['services']]

有关列表理解的更多信息,请参阅the official Python documentation