Python TypeError:字符串索引必须是带.json()字典的整数

Python TypeError:字符串索引必须是带.json()字典的整数,python,json,rest,dictionary,Python,Json,Rest,Dictionary,我试图访问字典键和值,但获取TypeError:执行此操作时字符串索引必须是整数错误 我正在使用下面的代码 def function(): EMAILS_FOR_ISSUES = 'https://github.com/api/v3/users/JimmyBuffet' resource = requests.get(EMAILS_FOR_ISSUES, auth=AUTH) if not resource.status_code == 200: rais

我试图访问字典键和值,但获取TypeError:执行此操作时字符串索引必须是整数错误

我正在使用下面的代码

def function():
    EMAILS_FOR_ISSUES = 'https://github.com/api/v3/users/JimmyBuffet'
    resource = requests.get(EMAILS_FOR_ISSUES, auth=AUTH)
    if not resource.status_code == 200:
        raise Exception(resource.status_code)

    print(type(resource.json()))
    print(resource.json())
    for x in resource.json():
        print(x)
        print(x[0])
        print(x[4])
        user_email = x['email']
        print(user_email)
return
我得到的答复是*注意:为了可读性,我在这里格式化了dict输出

<type 'dict'>
{
    u'public_repos': 1, 
    u'site_admin': False,  
    u'gravatar_id': u'', 
    u'hireable': None, 
    u'id': 6048,  
    u'email': u'jbuffet@xyzxyz.com'
}
public_repos
p
i
Traceback (most recent call last):
  File "retrieve_old_issues.py", line 122, in <module>
    function()
  File "retrieve_old_issues.py", line 58, in function
    user_email = x['email']
TypeError: string indices must be integers

{
公共回购:1,
u'site_admin':False,
u'gravatar_id':u',
“可雇佣”:无,
u'id':6048,
u'email':u'jbuffet@xyzxyz.com'
}
公共回购
P
我
回溯(最近一次呼叫最后一次):
文件“retrieve_old_issues.py”,第122行,在
函数()
文件“retrieve_old_issues.py”,第58行,在函数中
用户_email=x['email']
TypeError:字符串索引必须是整数
目标是获取电子邮件。我认为键前面的unicode字符也会弄乱一些东西,但是还没有找到任何关于它的东西。为什么这不起作用

for x in resource.json():
在这里,您所做的是在字典中的每个条目上循环,并将密钥分配给x。例如,在for循环的第一次迭代中

x = "public_repo"
这就是为什么会为x[0]和x[4]打印“p”和“i”,因为它们分别是字符串“public_repo”的第0位和第4位

相反,您要做的是将resource.json()分配给一个变量,并简单地索引到该变量中。比如说,

dict = resource.json()
print(dict["email"])
在这里,您所做的是在字典中的每个条目上循环,并将密钥分配给x。例如,在for循环的第一次迭代中

x = "public_repo"
这就是为什么会为x[0]和x[4]打印“p”和“i”,因为它们分别是字符串“public_repo”的第0位和第4位

相反,您要做的是将resource.json()分配给一个变量,并简单地索引到该变量中。比如说,

dict = resource.json()
print(dict["email"])