使用变量来定义json对象名称

时间:2013-09-29 21:20:56

标签: jquery json variables

我遇到了一个我认为很容易解决的问题,但我似乎无法在搜索中找到答案。

我有一堆我正在使用的json对象。现在我得到这样的信息,例如:

for(image in data.everfi_commons.images) {
    alert(data.everfi_commons.images[image]);
}

我想做的不是使用'everfi_commons'这个名称,而是想使用我设置的javascript变量:

current_project = $(this).attr("id");  // this value is 'everfi_commons'

然后我想你可以做data.current_project.images [image]

但这似乎不起作用,我真的不明白为什么,任何见解都会有所帮助!

2 个答案:

答案 0 :(得分:2)

尝试

current_project = $(this).attr("id"); // this value is 'everfi_commons'

然后

data[current_project].images[image]

您可以在JavaScript中使用[]访问对象属性,这非常方便。

答案 1 :(得分:2)

当然 - 只需在引用image

时参考密钥
for (image in data[current_project].images) {
    /*             ^^^^^^^^^^^^^^^ 
                   This will refer to a key with the name of 
                   whatever is in the current_project variable */
    alert(data[current_project].images[image]);
}