0

所以我正在尝试学习如何搜索 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))

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

4

1 回答 1

4

/search/showsAPI 方法会返回与您的搜索匹配的节目列表(每个都有一个映射)。

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

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
于 2013-03-01T19:17:35.370 回答