这是我的python脚本:
import json
with open('JSON_DataProvider.json', 'r') as file:
json_dict = json.load(file)
print (json_dict["office"][0]["medical"][0]["price"])
运行代码后出现以下错误
Traceback (most recent call last):
File "D:/Project/@Python/open_json.py", line 7, in <module>
print (json_dict["office"][0]["medical"][0]["price"])
KeyError: 0
这里是我正在使用的json数据:
{ "office":
{"medical": [
{ "room-number": 100,
"use": "reception",
"sq-ft": 50,
"price": 75
},
{ "room-number": 101,
"use": "waiting",
"sq-ft": 250,
"price": 75
},
{ "room-number": 102,
"use": "examination",
"sq-ft": 125,
"price": 150
},
{ "room-number": 103,
"use": "examination",
"sq-ft": 125,
"price": 150
},
{ "room-number": 104,
"use": "office",
"sq-ft": 150,
"price": 100
}
]},
"parking": {
"location": "premium",
"style": "covered",
"price": 750
}
}
请帮我确定一下我做错了什么?
因为我试图从json文件中获取数据并输入我们的测试自动化脚本,这是嵌套的json dataprovider。
答案 0 :(得分:0)
正在抛出异常,因为您正在尝试使用索引访问字典项。应该有效,而不是json_dict["office"][0]["medical"][0]["price"]
尝试json_dict["office"]["medical"][0]["price"]
。我希望这会有所帮助。
答案 1 :(得分:0)
更改
print (json_dict["office"][0]["medical"][0]["price"])
要
print(json_dict["office"]["medical"][0]["price"])
答案 2 :(得分:0)
在尝试打印json_dict
后,我们可以找到问题。
{'office': {'medical': [{'room-number': 100, 'use': 'reception', 'sq-ft': 50, 'price': 75}, {'room-number': 101, 'use': 'waiting', 'sq-ft': 250, 'price': 75}, {'room-number': 102, 'use': 'examination', 'sq-ft': 125, 'price': 150}, {'room-number': 103, 'use': 'examination', 'sq-ft': 125, 'price': 150}, {'room-number': 104, 'use': 'office', 'sq-ft': 150, 'price': 100}]}, 'parking': {'location': 'premium', 'style': 'covered', 'price': 750}}
这样做的正确方法是:
json_dict["office"]["medical"][0]["price"]