Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在尝试访问dict中的密钥时,我得到';键错误';_Python - Fatal编程技术网

Python 在尝试访问dict中的密钥时,我得到';键错误';

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']) 打印('@@@@@@@@@'

我无法访问字典中的某些值,如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'])
打印('@@@@@@@@@',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']