从 json 加载获取 header 时出现按键错误

Key error while getting header from json load

这是我写的一段代码,用于从 api link

输出 json 数据
import requests
import json
from urllib.request import Request, urlopen

req = Request('https://servers-frontend.fivem.net/api/servers/single/4lqxao'), headers={'User-Agent': 'Mozilla/5.0'})
sopen = urlopen(req, timeout=10)
data = json.loads(sopen.read())
print(data["clients"])

但是当我尝试打印指定的 header 值时出现此错误(json 输出打印正确,但指定的 header 不正确)

有什么问题?

首先你提供的代码有错别字,我相信你的意思是

req = Request('https://servers-frontend.fivem.net/api/servers/single/4lqxao', headers={'User-Agent': 'Mozilla/5.0'})

而不是

req = Request('https://servers-frontend.fivem.net/api/servers/single/4lqxao'), headers={'User-Agent': 'Mozilla/5.0'})

其次,响应包含两个键的字典,'Endpoint' 和 'Data' 并且您要查找的 'client' 键存在于嵌套的 'Data' 字典中.因此,您可以通过数据 ['Data']['clients'] 访问它。亲身验证过

print(data['Data']['clients'])

140