【发布时间】:2017-09-10 19:33:18
【问题描述】:
我正在尝试获取此 JSON 中返回的第一个对象的 direction 和 station 的值,但出现以下错误
密钥错误:0
这是我的代码:
print(json.dumps(savedrequest, indent=4))
savedstation = savedrequest[0]['station']
saveddirection = savedrequest[0]['direction']
这就是它在打印中返回的内容:
{
"-bas": {
"email_address": "dd3@gmail.com",
"direction": "Southbound",
"station": "place-har"
},
"-bus": {
"email_address": "dd4@gmail.com",
"direction": "Southbound",
"station": "place-su"
}
}
我不知道-bas或-bus返回时会是什么,我需要选择数组中的第一个对象。
【问题讨论】:
-
savedrequest不是数组,它没有键0。您需要使用'-bas'(或'-bus')。 -
在那个数组中,有没有办法选择第一个对象并从
direction和station键中获取值? -
你为什么要访问密钥
0? -
没有数组。您有一个 JSON object,它被转换为 python dict。 python中的字典本质上是无序的,所以没有“第一个”元素的概念
-
不是数组,是字典。字典没有顺序,所以你不能使用[0]、[1]等来访问它们。你只能通过字典中的键来访问它们。没有其他办法。