Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.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
TypeError:列表索引必须是整数,而不是str-python_Python_Json - Fatal编程技术网

TypeError:列表索引必须是整数,而不是str-python

TypeError:列表索引必须是整数,而不是str-python,python,json,Python,Json,我试图访问JSON api并仅打印“类型”,但我不断收到以下错误: TypeError:列表索引必须是整数,而不是str 我的代码: import urllib import json u = urllib.urlopen('http://api.tvmaze.com/search/shows?q=the%20big%20bang%20theory') data = json.load(u) print data['genres'] 如果我试一试: print data 我得到了

我试图访问JSON api并仅打印“类型”,但我不断收到以下错误:

TypeError:列表索引必须是整数,而不是str

我的代码:

import urllib
import json

u = urllib.urlopen('http://api.tvmaze.com/search/shows?q=the%20big%20bang%20theory')
data = json.load(u)   


print data['genres']
如果我试一试:

print data
我得到了所有的信息


提前感谢您的帮助。

您应该看看
json.load的返回类型<代码>打印(类型(数据))
将显示,它实际上是一个
列表
。对于你的具体例子

for entry in data:
    print(entry['show']['genres'])

将完成此操作。

数据看起来像什么?尝试添加一个
打印数据来调试此操作。返回的JSON有一个外部容器的列表,您应该在其上循环或首先获取一项。[{u'score':2.4287872,u'show':{u'status':u'Running',u'rating':{u'average':8.4},u'generies':[u'come']、u'weight':15,u'updated':等等。。。