从 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
这是我写的一段代码,用于从 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