-1

我的代码就像

var param="abc";
var data = {abc:1,xyz:2};//json data
console.log(data.abc);
//console.log(data.param);

这里 m 访问datausing data.abc,其结果为 1。但是当我尝试使用参数传递此“abc”时,param它显示未定义。

在这里,如果没有天气,可以data使用param如果是,那么如何访问?

有人可以帮我吗???

4

2 回答 2

5

JSON 只是一种序列化格式,它在字符串中使用基于文本的 JavaScript 子集——在 JavaScript 中使用对象不是 JSON(我承认它的名称有点令人困惑,至少可以这么说)。

要执行您想要的操作,只需使用方括号表示法:

console.log(data[param]);

它允许将任何表达式放入其中,并将返回值转换为字符串,然后用于访问对象上的属性 - 这允许param动态使用变量等。

例如,以下是使用方括号表示法时出现的一些结果:

var foo =
    { '[object Object]': 1
    , bar: 2 };
var x = "bar";

foo[{}]; // 1
foo['[object Object]']; // 1
foo.[object Object]; // SyntaxError: Unexpected token [
foo[bar]; // ReferenceError: bar is not defined
foo.bar; // 2
foo["bar"]; // 2 
foo[x]; // 2
foo.x; // undefined
于 2013-09-13T12:28:58.213 回答
2

console.log(data[param]);应该这样做。

于 2013-09-13T12:29:54.497 回答