Python 在尝试访问dict中的密钥时,我得到';键错误';
我无法访问字典中的某些值,如SID、RID和Active(存在于“数据”中) 我对python比较陌生,这是我尝试过的,但我不断地遇到关键错误。请建议Python 在尝试访问dict中的密钥时,我得到';键错误';,python,Python,我无法访问字典中的某些值,如SID、RID和Active(存在于“数据”中) 我对python比较陌生,这是我尝试过的,但我不断地遇到关键错误。请建议 json\u obj=json.loads(res.content) 打印(json_obj) 对于p_id,json_obj.items()中的p_信息: 打印(“\n人员ID:”,p\U ID) 对于输入p_信息: 打印(键+“:”,p_信息[键]) 打印('@@@@@@@@@@',p_信息['Active']) 打印('@@@@@@@@@'
json\u obj=json.loads(res.content)
打印(json_obj)
对于p_id,json_obj.items()中的p_信息:
打印(“\n人员ID:”,p\U ID)
对于输入p_信息:
打印(键+“:”,p_信息[键])
打印('@@@@@@@@@@',p_信息['Active'])
打印('@@@@@@@@@',p_info['RID'])
看看这个,这是总代码,但它可以满足您的需要:
my_dict = {
"response":{
"Status":0,
"AsOfDate":"2018-11-22T18:22:48.7719635Z",
"ServiceName":"API",
"Version":"1.0.6836",
"Data":[
{
"UserName":"Automation",
"Name":" USER",
"Company":"SALE",
"LastName":"USER",
"Entitlements":{
"MAccess": True,
"EAccess": True,
"CAccess": True,
"TP": True,
"TQ": True,
"Active": True,
"TZ": True,
"C": True
},
"AltEmail": None,
"Status":"A",
"RID":"111111",
"IsActive": None,
"Name":"AUTOMATION",
"SID":"qYcuYD3DABU9ul2Rzg",
"WhiteListed": None,
"Email":"automation.user@something.com",
"Phone":"1234512345"
}
],
"EndTime":"2018-11-22T18:22:48.7719635Z",
"StartTime":"2018-11-22T18:22:48.7719635Z",
"Total":1
}
}
for value in my_dict.values():
for key, val in value.items():
if key == 'Data':
print(key)
for x, y in val[0].items():
if x == 'Entitlements':
print(x)
for z, v in y.items():
print('-', z, v)
else:
print('-',x, y)
else:
print(key, val)
以及输出
Status 0
AsOfDate 2018-11-22T18:22:48.7719635Z
ServiceName API
Version 1.0.6836
Data
- UserName Automation
- Name AUTOMATION
- Company SALE
- LastName USER
Entitlements
- MAccess True
- EAccess True
- CAccess True
- TP True
- TQ True
- Active True
- TZ True
- C True
- AltEmail None
- Status A
- RID 111111
- IsActive None
- SID qYcuYD3DABU9ul2Rzg
- WhiteListed None
- Email automation.user@something.com
- Phone 1234512345
EndTime 2018-11-22T18:22:48.7719635Z
StartTime 2018-11-22T18:22:48.7719635Z
Total 1
您可以通过直接访问json加载路径进行访问
p_info['response']['Data'][0]['Entitlements']['Active']
p_info['response']['Data'][0]['RID']
p_info['response']['Data'][0]['SID']
显示完整的错误消息
p_info['Active']不是该json对象根上的成员。它是内部
Data`对象的成员。与p_info['Active']
不同,您可能希望p_info['Data']['Active']
数据在列表中只有一项<代码>['Data'][1]
将抛出索引器更正、更新索引
p_info['response']['Data'][0]['Entitlements']['Active']
p_info['response']['Data'][0]['RID']
p_info['response']['Data'][0]['SID']