当尝试从python字典中获取项时,“TypeError:字符串索引必须是整数,而不是str”

时间:2015-12-22 10:33:35

标签: python dictionary

我有这样的代码,以便从网址中获取一些数据:

import urllib2
response = urllib2.urlopen('https://api.genderize.io/?name=joseph')
html = response.read()

>>> print html
{"name":"joseph","gender":"male","probability":"0.99","count":923}

到目前为止的一切都很好。但是,当我想从这本字典中获取“性别”数据时;

>>> print html["gender"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: string indices must be integers, not str

我收到了上述错误。

我该如何解决问题?

1 个答案:

答案 0 :(得分:3)

那是因为html是字符串类型。要验证这一点,请尝试:

>>> type(html)
<type 'str'>

因此错误消息说字符串索引必须是整数,而不是str

您应该使用json模块将其转换为JSON:

json.loads(html)['gender']