我只接触了几天的Python体验,所以我很抱歉用一个小步骤问题污染了站点。 我正在尝试为XBMC编写一个插件,我相信它使用python2.4。我访问了一个webapi,它用JSON封装了返回。我把url返回保存到一个WebHTML列表(我想是一个列表!)。当我从stackoverflow教程中输入以下内容时:
decoded = json.loads(WebHTML)
print 'DECODED:', decoded
我在日志中看到以下内容:
NOTICE: {u'totalItems': 1, u'query': u'Ludwig van Beethoven Op 67 Symphony No 5 in Cm (Fate)', u'kind': u'volumes#volumes', u'items': [{u'scoreId': u'IMSLP01056', u'pageCount': 42, u'title': u'Symphony No.5, Op.67 - Complete Score (S.464/5)', u'kind': u'volumes#volume', u'authors': [u'Beethoven, Ludwig van'], u'year': 1807, u'selfLink': u'http://www.peachnote.com/rest/api/v0/score?id=IMSLP01056'}]}
我想为后续的url调用提取scoreId,即IMSLP01056,但我无法使用正确的命令。当我尝试:
^{pr2}$返回的日志错误为:
TypeError: list indices must be integers, not str
如果我尝试:
print dict[4][1]
它回来了
KeyError: (4,)
我尝试过各种JSONloads命令,但都无法正常工作。开头总是出错:
IOError: (2, 'No such file or directory', '{\n "kind": "volumes#volumes",\n "query": "Ludwig ..... etc, etc.
所以,我有点困惑,我应该使用正确的命令。感谢和抱歉,如果这是一个非常基本的问题太多的信息。在
您得到的主要响应确实是一个字典,但是它的
items
键的值是一个列表。因此,错误是告诉您使用整数索引进行内部查找。所以:请注意,
^{pr2}$items
列表中可能有许多项,上面只给出第一个:您可能希望在一个列表中包含所有这些项:它将遍历所有项目,并将它们的分数提取到一个单独的列表中。在
另外,正如larsmans所说,不要使用
dict
(或list
)作为变量名,因为它隐藏了内置的dict()
函数。在相关问题 更多 >
编程相关推荐