我只有几天的 Python 经验,所以很抱歉用一个小步骤问题污染了网站。我正在尝试为 XBMC 编写一个附加组件,我相信它使用 Python 2.4。我访问了一个 web api,它将返回值包装在 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,但我正在努力使用正确的命令。当我尝试:
dict = json.loads(WebHTML)
dict['items']['scoreId']
print dict['items']['scoreId']
返回的日志错误是:
TypeError:列表索引必须是整数,而不是 str
如果我尝试:
print dict[4][1]
它返回
KeyError: (4,)
我尝试了各种 JSONloads 命令,但无法正常工作。我总是得到一个错误开始:
IOError: (2, 'No such file or directory', '{\n "kind": "volumes#volumes",\n "query": "Ludwig ..... etc, etc.
所以,我对我应该使用的正确命令有点困惑。如果这是一个非常基本的问题的信息太多,谢谢和抱歉。