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

如何从多维JSON数组中提取LABEL为TitleOne的ID和Address1?

问题分析与解决方案

你的代码存在几个关键问题:

  1. JSON语法错误:第二个子数组中"Total": "17490"后缺少逗号,会导致JSON解析失败。
  2. 数组层级访问错误:data[0]是子数组而非对象,不能直接用.LABEL访问,需定位到子数组内的第一个对象,即data[0][0].LABEL。
  3. 字段位置与语法错误:ID和Address1存储在子数组的第二个对象中,应使用data[0][1].ID,且你写的data.[0].ID多了一个多余的点,属于语法错误。
  4. 硬编码索引局限性:仅判断data[0]会遗漏目标LABEL在其他子数组的情况,建议遍历所有子数组实现通用查找。

修正后的代码示例

第一步:修复JSON语法错误

var data = [
    [
        {
            "LABEL": "TitleOne"
        },
        {
            "ID": "204",                        
            "Address1": "123 main st"
        }
    ],
    [
        {
            "LABEL": "TitleTwo"
        },
        {
            "Total": "17490",
            "DaysDisplay": "5.0 days"
        }
    ]
];

第二步:通用查找逻辑(遍历所有子数组)

// 遍历每个子数组
for (const subArr of data) {
    // 检查子数组第一个对象的LABEL值
    if (subArr[0].LABEL === 'TitleOne') {
        // 提取第二个对象中的目标字段
        const { ID, Address1 } = subArr[1];
        console.log('ID:', ID);
        console.log('Address1:', Address1);
        // 找到目标后退出循环,避免无效遍历
        break;
    }
}

针对第一个子数组的简化写法

if (data[0][0].LABEL === 'TitleOne') {
    console.log(data[0][1].ID);
    console.log(data[0][1].Address1);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:15:06