无法解析JSON文件中的值

时间:2018-04-20 19:38:09

标签: python json python-2.7 parsing

这是我的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。

3 个答案:

答案 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"]

希望它有所帮助!