You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何打印API返回JSON中services的status值

解决Riot Games API获取服务状态的问题

我看你已经成功拿到了Riot API返回的JSON数据,但卡在了获取services里的status值上——这是因为你忽略了JSON里services的结构:它是一个数组(Python里的列表),而不是单个字典。

先看你拿到的JSON结构片段:

"services": [
    {
        "status": "online",
        "incidents": [...]
    }
]

注意services外面的方括号[],这说明它是一个包含多个服务对象的列表,哪怕里面只有一个元素,也得先通过索引访问到这个元素,再去取status键。

修正后的代码实现

你可以直接在现有代码基础上调整,甚至简化JSON解析步骤:

link = "https://na1.api.riotgames.com/lol/status/v3/shard-data?api_key={}".format(API_KEY)
rq_response = rq.get(link)
rq_json = rq_response.json()  # 直接用response.json()解析,无需手动处理文本

# 获取第一个服务的status值并打印
print(rq_json['services'][0]['status'])

更稳妥的写法(避免索引错误)

如果担心返回的services列表为空,建议加个判断逻辑防止报错:

if 'services' in rq_json and len(rq_json['services']) > 0:
    print(rq_json['services'][0]['status'])
else:
    print("无法获取服务状态数据")

这样就能顺利打印出online这个状态值啦!

内容的提问来源于stack exchange,提问作者KowaiiNeko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:44:41