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

JavaScript中如何使用变量动态访问JSON文件的嵌套属性

JavaScript动态访问JSON对象字段实现方法

问题相关代码

原有错误实现:

let file = require('./file.json')
let someVar = 'firstField'
console.log(file.firstObject.{someVar})

对应引入的JSON文件内容:

{
  "firstObject": {
     "firstField":"firstValue",
     "secondField":"secondValue",
     "thirdField":"thirdValue"
  },
  "otherObject": {
     "otherField":"otherValue"
  }
}

预期效果:代码运行后控制台输出firstValue。

注意:原示例JSON里thirdValue字段末尾多余的逗号会导致标准JSON解析失败,实际使用时需要删掉这个尾逗号。

错误原因

JavaScript中,点运算符(.)仅支持访问固定名称的对象属性,file.firstObject.{someVar}属于语法错误,无法被JS引擎识别。

正确写法

使用方括号语法访问动态属性名,修正后代码如下:

let file = require('./file.json')
let someVar = 'firstField'
console.log(file.firstObject[someVar])

语法规则说明

JS访问对象属性只有两种合法语法:

  • 点号语法:对象.固定属性名,仅适用于属性名提前已知、是合法标识符的静态场景
  • 方括号语法:对象[属性名表达式],方括号内可以传入变量、字符串、任意表达式,引擎会先计算表达式的结果,再用结果作为属性名查找对应值,完全适配动态属性访问的需求。

运行上述修正后的代码,控制台即可正常输出预期的firstValue。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 20:24:19