【发布时间】:2013-09-17 20:52:44
【问题描述】:
我有一个我进入 python 的 JSON 字符串,看起来像这样:
{"count": 100,
"facets": null,
"previous_page": null,
"results": [{"updated_at": "2013-09-17T13:45:13Z", "test_id": 194037042, "customer_id":
203793326, "id": 1954182}]
还有更多元素,但这只是我需要的一小部分。基本上,结果有一个包含 100 个字典的列表,其中包含“updated_at、test_id、customer_id、id”以上的元素我需要做的是:
我需要获取所有值的列表,其中包含 id 的所有值。不过我不知道该怎么做,我试过做这样的事情:
for i in my_dict['results']:
print i['id']
但我收到一条错误消息:
print i['id']
TypeError: string indices must be integers
我做错了什么?
【问题讨论】:
-
Accessing JSON elements 的可能重复项
-
您是否使用
json.loads将字符串转换为python原生数据? -
您没有做错任何事情,但可能并非所有数据项都有一个
result,即字典列表。也许您的results之一是字符串列表或字符串。 -
对于您发布的示例 JSON,您的代码正常。那么问题在于,错误表明
my_dict['results']值不是来自该 JSON 数据块。