TypeError:list indices必须是整数,而不是带有JSON的str

时间:2013-09-02 21:52:29

标签: python json python-2.7

这是我的代码;

f = open("test.json")
data = json.load(f)
loadmain = data['response']['users']
loadurl = loadmain['url']
print loadurl

这是JSON文件

{

  "meta": {
"status": 200,
"msg": "OK"
  },

  "response": {
"total_users": 23,
"users": [
  {
    "name": "test",
    "url": "http://testurl.com",
    "updated": 1378151341
  }
...
..
.

我是Python初学者,所以对此方法的任何反馈都表示赞赏,我确信URL的解码不是以正确的方式完成的。无论如何,我主要担心;我想要一个来自JSON的“url”列表来显示,但我得到“TypeError:list indices必须是整数,而不是str”

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我怀疑问题出在loadurl = asd['url']。 (除了未知的asd

在变量loadmain中,您有一个数组列表,因此您需要执行以下操作:

for x in loadmain:
   loadurl = x['url']

答案 1 :(得分:2)

检索网址列表的一个选项是使用列表解析:

urls = [ user['url'] for user in loadmain ]