使用变量访问 JSON 属性(字符串)

Accessing a JSON property (String) using a variable

本文关键字:字符串 属性 JSON 变量 访问      更新时间:2023-09-26

我正在尝试使用我通过函数传递的变量访问 JSON:

function highlightCategory (category) {
   for (var i in data) {
      console.log(data[i].category)
   }
}

显然,这是行不通的,因为"类别"是我用函数传递的,而不是属性的真实名称,但我一直在尝试不同的可能性,但没有成功。提前感谢!

data[i][category]

在JS中,obj.propobj['prop']的代名词。

var foo = {
  bar: 'baz'
};
// foo.bar == foo['bar'] == 'baz'

此外,您正在处理一个javascript对象,而不是JSON(尽管它可能起源于那里(

更新 对于那些遇到此问题并使用 ES6 的人,您现在可以在分配期间使用变量:

const propName = 'bar';
const foo = {
  [propName]: 'baz',
}
// foo.bar == foo[propName] == 'baz'

作为参考,这被视为 ES6 规范的对象初始值设定项部分下的一个ComputedPropertyName