You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不确定字段所属数组下标时如何在动态结构JSON中查找目标字段

解决方案

通用逻辑

  • 先定位到JSON中person下对应指定人名的数组对象
  • 遍历该数组的所有元素
  • 逐个检查当前元素是否包含weaknesses属性,匹配到后直接返回该属性值即可,你也可以把weaknesses替换为powers等其他你需要查找的字段名

具体实现示例

Python 实现

import json

def get_target_field(data, person_name, target_field="weaknesses"):
    person_arr = data["person"][person_name]
    for item in person_arr:
        if target_field in item:
            return item[target_field]

# 调用示例
with open("你的JSON文件路径.json", "r", encoding="utf-8") as f:
    data = json.load(f)
# 查找Peter的weaknesses
print(get_target_field(data, "Peter"))

JavaScript 实现

function getTargetField(data, personName, targetField = "weaknesses") {
    const personArr = data.person[personName];
    for (const item of personArr) {
        if (item.hasOwnProperty(targetField)) {
            return item[targetField];
        }
    }
}

// 调用示例
// 查找Clark的weaknesses
console.log(getTargetField(data, "Clark"))

jq 命令行实现

如果你需要在命令行直接处理JSON文件,可以使用jq快速查询:

# 查找Bruce的weaknesses
jq '.person.Bruce[] | select(has("weaknesses")) | .weaknesses' 你的JSON文件路径.json

内容的提问来源于stack exchange,提问作者thinguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 11:24:07