0

我有:

var id = 1;
console.log(myJSON.users[id].name);

这输出“汤姆”

我想输出相同的内容:

var id = 1;
var attr = "name"
console.log(myJSON.users[id].attr);

现在,jQuery 正在搜索“attr”而不是 attr 中的字符串。我怎样才能做到这一点?

4

3 回答 3

2

如果您进一步分解它可能会对您有所帮助,以便您可以更好地了解发生了什么:

var id = 1;
var user = myJSON.users[id];

这让你成为用户。然后,您可以执行相同的操作来获取名称:

var attr = "name"
console.log(user[attr]);

把它们放在一起你可以做:

var id = 1;
var attr = "name";
console.log(myJSON.users[id][attr]);
于 2013-03-06T16:36:49.197 回答
1

如果您使用变量来定义要检索的信息,请使用方括号,例如:

var id = 1;
var attr = "name"
console.log(myJSON.users[id][attr]);
于 2013-03-06T16:38:40.973 回答
1

这是你要找的:

var json = {
    users: {
        0: {name:"A"},
        1: {name:"B"}
    }
};

var attr = "name";
console.log(json.users[0][attr]); //"A"

?

于 2013-03-06T16:38:58.243 回答