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

如何使用变量作为key查询JSON对象中的指定元素

解决方案

你遇到的是两个典型的JS对象访问和JSON使用错误,按以下方式修正即可:

  1. 你要访问的是JSON解析后得到的load对象,而不是原始的JSON字符串names
  2. 要使用变量作为键名查询对象属性,不能用点语法,需要改用方括号语法,方括号内可以传入变量、表达式,会自动读取值作为查询的键名。

修正后的完整代码如下:

const names = `
{
     "Joe": {
          "nat": "American",
          "hair": "brown"
     },
     "Peter": {
          "nat": "German",
          "hair": "blond"
     }
}
`;

const load = JSON.parse(names);
const search = "Joe";

// 方括号内传入变量search,会自动读取变量值作为键查询
console.log(load[search]);

运行后会输出Joe对应的属性对象:{ nat: 'American', hair: 'brown' },如果要直接打印名字Joe,直接输出search变量即可。


额外优化建议

  • 可以提前校验键是否存在,避免查询不存在的键返回undefined的问题:
if (load.hasOwnProperty(search)) {
  console.log('查询结果:', load[search])
} else {
  console.log('没有找到对应内容')
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:24:03