在python中搜索json输出

时间:2013-03-01 18:52:42

标签: python json

所以我试图学习如何搜索trakt.tv的api的输出并仅返回某个节目的信息。 json输出如下

[
  {
      "title": "NCIS",
      "year" : 2003,
      "url": "blah"
    },
   {   
       "title": "Jeffersons",
       "year" : 1902,
       "url": "notreally"
     }
]

:已编辑的代码,用于正确格式化。

我试图仅查找标题NCIS的信息。而且我遇到了获取信息的问题。可能是因为我所见过的所有内容都与json.dump或json.loads有关,我试图用data = json.load(urllib2.urlopen(url))

进行此操作

我基本上只想显示show:0如果title与NCIS匹配。我只是不确定如何。

1 个答案:

答案 0 :(得分:4)

/search/shows API method会返回与您的搜索匹配的节目列表(每个映射)。

您可以简单地循环遍历这些并匹配特定标题:

data = json.load(urllib2.urlopen(url))

for show in data:
    if show['title'] == 'NCIS':
        # matching show

或者您可以使用生成器表达式来获得一个匹配的节目:

try:
    ncis_show = next(show for show in data if show['title'] == 'NCIS')
except StopIteration:
    ncis_show = None  # not found