key作为变量导航json对象

时间:2013-09-19 13:21:40

标签: javascript jquery ajax json

我希望我的标题有点正确,因为我不知道如何命名我要做的事情......

"modifiers":{"agility":{"type":"attribute","displayname":"agi","value":46}}

是我从here获得的jsonp回调的一部分。 我正在尝试记录/访问不同value

modifiers

如果我使用它可以工作:

console.log(item1.modifiers.agility.value); /*item1 being item_list[0]*/

但如果不知道其他电话中modifiers的内容(可能是strengthwisdom或两者),该怎么办?我如何访问它们?

我得到的最接近的是:

    for (var x in item1.modifiers){
        console.log(x);
        console.log(item1.modifiers.x.value);
    }

x正确记录为agility,但在记录value

的语句中无效

有没有办法将变量放在“调用”中?如果不是我怎么解决这个问题?

1 个答案:

答案 0 :(得分:3)

Javascript对象只是哈希值,可以这样访问:

item1.modifiers[x].value

应该有效

说明:

JavaScript中的任何对象都只是字典/哈希:

var x = { a: 1, b: 2, c: 3 };
x.a # = 1;
x['a'] # = 1;

所以在你的情况下,你可以将整个事情重写为:

item1['modifiers'][x]['value']
相关问题