我刚刚制作了一个程序来解析api中的一些数据。 api以JSON格式返回数据。当我尝试解析它时,它给了我一个关键错误
url = json.loads(r.text)["url"]
KeyError: 'url'
这是代码的一部分
url = json.loads(r.text)["url"]
我正在尝试在普通字段中获取数据。以下是API的输出:
{"updates":[{"id":"a6aa-8bd","description":"Bug fixes and enhancemets","version":"8.1.30","type":"firmware","url":"https://con-man.company.com/api/v1/file-732e844b","updated":"2017-07-25"}]}
答案 0 :(得分:0)
试试这个,
url = json.loads(r.text)["updates"][0]["url"]
答案 1 :(得分:0)
您无法访问url
,因为它位于更新内(列表),因此您需要传递索引,然后key
:
一个班轮:
>>> url = json.loads(r.text)['updates'][0]['url']
'https://con-man.company.com/api/v1/file-732e844b'
明确
>>> jobj = json.loads(r.text)
>>> url = jobj['updates'][0]['url']
'https://con-man.company.com/api/v1/file-732e844b'
答案 2 :(得分:0)
{
"updates": [
{
"id":"a6aa-8bd",
"description":"Bug fixes and enhancemets",
"version":"8.1.30",
"type":"firmware",
"url":"https://con-man.company.com/api/v1/file-732e844b",
"updated":"2017-07-25"
}
]
}
尝试想象您的字典,它只有一个键" 更新"在该键值中,它有另一个列表,并且在该列表中,您有另一个词典
所以,如果在你的情况下
_dict = json.loads(r.text) # read file and load dict
_list = _dict['updates'] # read list inside dict
_dict_1 = _list[0] # read list first value and load dict
url = _dict_1['url'] # read 'url' key from dict
答案 3 :(得分:0)
我用了这个,现在为我工作。
json_object = json.loads(response.content.decode("utf-8"))['list'][0]['localPercentDynamicObjectsUsed']