0

我正在使用 Trello API,并且在 Stack Overflow 上对其他人有一个常见问题。我尝试使用提供的解决方案,但我得到一个奇怪的错误,无法弄清楚原因。

cardlist_url = "https://api.trello.com/1/boards/" + board +  "$
r = requests.get(cardlist_url)
r = r.text
j = json.loads(r)
#Check for when due
print j['due']

但是在打印j['due']时,我得到:

TypeError:列表索引必须是整数,而不是 str

这似乎与常识相悖。顺便说一句,我输入了一些整数,但它没有任何效果!(我确实保存了它!)

4

3 回答 3

0

尝试类似的东西

for i in range(len(J)):
   print "J number " + str(i) + " = " + J[i]

那应该让你看看里面的J

于 2013-07-08T19:27:26.457 回答
0

尝试先将 JSON 输出转换为字典:

j = dict(json.loads(r))

你应该能够通过它的键访问字典。

于 2013-07-08T19:29:57.280 回答
0

Ashwini Chaudhary 所说的...

有效的 JSON 文件可以由列表或字典的任意组合组成。

作为 JSON 模块工作方式的示例:

import json

listText = '["This","Is","A","Valid","Json","File"]'
dictText = '{"So":["Is","This"]}'

print type(json.loads(listText))
print type(json.loads(dictText))

这仅取决于您正在阅读的 JSON 文件的结构。如果 JSON 文件的总体结构是一个列表,您可能需要考虑从根本上发生的变化。

于 2013-07-08T19:45:19.527 回答