python - 列表中的字典索引
问题描述
我是 Python 新手,目前正在尝试在 Python 中使用 JSON 文件。我的 JSON 文件如下所示(请忽略内容):
[{
"Id" : "5444",
"date" : "2012-02-01",
"data" : [ {
"Name" : "Fred Smith",
"Sex" : "Male",
"description" : "{\"car\": \"Suzuki\", \"salary\": 100000, \"married\": null}"
}, {
"occupation" : "smith",
"City" : "New York",
"data" : "{\"height\": \"6ft\", \"GMATscores\": [{\"verbal\": \"None\", \"reasoning\": 200, \"numerical\": 0.0}]}"
} ]
} ]
我已经挣扎了几个小时,我如何从这个烂摊子中提取“推理:200”的价值?
解决方案
你可以使用json模块:
import json
my_json = [{
"Id" : "5444",
"date" : "2012-02-01",
"data" : [ {
"Name" : "Fred Smith",
"Sex" : "Male",
"description" : "{\"car\": \"Suzuki\", \"salary\": 100000, \"married\": null}"
}, {
"occupation" : "smith",
"City" : "New York",
"data" : "{\"height\": \"6ft\", \"GMATscores\": [{\"verbal\": \"None\", \"reasoning\": 200, \"numerical\": 0.0}]}"
} ]
} ]
inner_json = json.loads(my_json[0]['data'][1]['data'])
# {'height': '6ft',
# 'GMATscores': [{'verbal': 'None', 'reasoning': 200, 'numerical': 0.0}]}
inner_json['GMATscores'][0]['reasoning']
# 200
推荐阅读
- html - 调整浏览器宽度和封面照片必须保留裁剪图像的中心
- ruby-on-rails - 如何使用 or 条件加入两个范围?
- flutter - 我有两个图像用于在颤振中固定或取消固定数据
- reactjs - 类型“X[]”上不存在属性“customProperty”。打字稿反应。TS2339
- python - Python - 集合的交集只返回第一个值
- r - R merge() rbinds 而不是合并
- java - 本着以下代码的精神,对象初始化器是否可以在像 java 或 c# 这样的颤振(飞镖)中使用?
- c++ - 创建对象的动态数组时对象数量有限
- flutter - 在 Flutter 上使用 SignalR
- c++ - 小于或等于 n 的所有丰富数之和