如何解析JSON响应返回的dict类型数据并提取指定数值?
问题原因
你原有的代码存在两个核心错误:
- 不需要遍历
results字典的所有键值对,目标数据的存储路径是固定的,无需全量遍历 value[16]的索引取值完全不符合当前数据结构,不存在对应位置的有效数据
正确取值逻辑
首先明确数据的层级关系:
- 顶层
results字典中,取result键对应的值,该值是一个存储指标条目的列表 - 列表的第一个元素(索引为0)是包含指标详情的字典
- 从该字典中取
value键对应的值,这是一个长度为2的数组,第二个元素(索引为1)就是你需要的数值,注意原始值为字符串类型,要做数值计算的话需要转成浮点数
示例代码
单条数据取值:
# 取result列表的第一个指标条目 metric_entry = results['result'][0] # 提取目标数值并转成浮点型 target_value = float(metric_entry['value'][1])
如果result列表中存在多条指标数据,需要批量取值可以用循环实现:
value_list = [] for entry in results['result']: current_val = float(entry['value'][1]) value_list.append(current_val)
内容的提问来源于stack exchange,提问作者user16359893
相关产品推荐
相关产品推荐

