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

如何在JS中根据ID从JSON文件获取对应的name值

已知ID从JSON数据中获取对应name值的方法

先假设你已经把JSON内容解析成了JavaScript对象(如果是从外部文件读取的,后面会补充说明),以下是几种简单实用的方法:

方法一:使用find()方法(推荐,代码简洁)

find()是数组的内置方法,会遍历数组并返回第一个满足条件的元素,找不到则返回undefined。

// 先定义解析后的JS对象
const jsonData = {
    "data": [
        {
            "id": "1",
            "name": "name1"
        },
        {
            "id": "2",
            "name": "name2"
        }
    ]
};

// 封装成函数,传入目标ID就能获取name
function getNameById(targetId) {
    const matchedItem = jsonData.data.find(item => item.id === targetId);
    // 找到就返回name,没找到就提示未找到
    return matchedItem ? matchedItem.name : "未找到对应名称";
}

// 调用示例
console.log(getNameById("1")); // 输出:name1
console.log(getNameById("3")); // 输出:未找到对应名称

方法二:用forEach()遍历数组(适合新手理解遍历逻辑)

如果觉得find()有点抽象,可以用最基础的遍历方式逐个检查:

function getNameById(targetId) {
    let targetName = "未找到对应名称";
    jsonData.data.forEach(item => {
        if (item.id === targetId) {
            targetName = item.name;
        }
    });
    return targetName;
}

// 调用示例
console.log(getNameById("2")); // 输出:name2

补充:从外部JSON文件读取数据的情况

如果你的JSON是单独的文件(比如data.json),在浏览器里可以用fetch读取并解析,这里以浏览器环境为例:

fetch('./data.json')
  .then(res => res.json()) // 把返回的内容解析成JS对象
  .then(parsedData => {
      // 在这里处理解析好的数据
      const item = parsedData.data.find(item => item.id === "1");
      console.log(item?.name); // 用可选链操作符避免找不到时报错
  })
  .catch(err => console.log('读取文件出错:', err));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:03:21