如何无需通过data["Cost"]读取嵌套JSON中的a、b、c、d键值
实现方案
你可以通过将内层数组转换为键值对字典的方式,无需依赖外层的"Cost"键来读取目标值,具体步骤如下(以Python为例):
- 直接提取外层结构中的
Value数组(这一步不需要用到data["Cost"]) - 将数组转换为以
Key为键、Value为对应值的字典 - 通过字典键名直接获取
a、b、c、d的数值
代码示例
import json # 假设已加载原始JSON数据到data变量 data = { "Key":"Cost", "Value":[ {"Key":"a", "Value":5.25}, {"Key":"b", "Value":0}, {"Key":"c", "Value":5.25}, {"Key":"d", "Value":0} ] } # 提取内层数组,无需使用data["Cost"] cost_items = data["Value"] # 转换为键值对字典 cost_map = {item["Key"]: item["Value"] for item in cost_items} # 直接获取各键对应的值 a_val = cost_map["a"] b_val = cost_map["b"] c_val = cost_map["c"] d_val = cost_map["d"] # 验证结果 print(f"a: {a_val}, b: {b_val}, c: {c_val}, d: {d_val}")
说明
这种方法的核心是跳过外层的"Cost"标识,直接读取包含目标数据的Value数组,再通过字典推导式将数组转换为更易访问的键值结构,后续取值只需通过键名即可,完全不需要用到data["Cost"]。
内容的提问来源于stack exchange,提问作者tesrer
相关产品推荐
相关产品推荐

