我想遍历JSON文件的内容并将其打印到控制台。
我想我确实把清单混在一起了。
这就是我试图获取所有team_name元素的方法
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:
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>>
我怎么了?
实际上,要查询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']