一尘不染

如何遍历JSON中的条目?

json

我想遍历JSON文件的内容并将其打印到控制台。

我想我确实把清单混在一起了。

这就是我试图获取所有team_name元素的方法

from urllib2 import urlopen
import json

url = 'http://openligadb-json.heroku.com/api/teams_by_league_saison?league_saison=2012&league_shortcut=bl1'
response = urlopen(url)
json_obj = json.load(response)

for i in json_obj['team']:
    print i

这是我的JSON(简体:)

{
    "team": [
        {
            "team_icon_url": "http://www.openligadb.de/images/teamicons/Hamburger_SV.gif",
            "team_id": "100",
            "team_name": "Hamburger SV"
        },
        {
            "team_icon_url": "http://www.openligadb.de/images/teamicons/FC_Schalke_04.gif",
            "team_id": "9",
            "team_name": "FC Schalke 04"
        }
    ]
}

(可在此处找到完整的JSON输出:Link

当然,我得到一个错误,我应该在[]中使用整数输入,而不是字符串,但是我不知道该怎么做。

for i in json_obj['team']:
TypeError: string indices must be integers, not str

这是response

http://openligadb-json.heroku.com/api/teams_by_league_saison?league_saison=2012&league_shortcut=bl1
<addinfourl at 139755086292608 whose fp = <socket._fileobject object at 0x7f1b446d33d0>>

我怎么了?


阅读 224

收藏
2020-07-27

共1个答案

一尘不染

实际上,要查询team_name,只需将其添加到最后一行的括号中即可。除此之外,它似乎可以在命令行上的Python 2.7.3上运行。

from urllib2 import urlopen
import json

url = 'http://openligadb-json.heroku.com/api/teams_by_league_saison?league_saison=2012&league_shortcut=bl1'
response = urlopen(url)
json_obj = json.load(response)

for i in json_obj['team']:
    print i['team_name']
2020-07-27