如何使用javascript变量访问JSON对象

如何使用javascript变量访问JSON对象,javascript,json,Javascript,Json,我的意思是说我有JSON数据: [{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}] 我想这样做: var x = "ADAM"; alert(data.x.TEST); 当您将x设置为字符串对象时,它将不起作用,无法访问数组中的值: alert(data[0]["ADAM"].TEST); 由于Java脚本中的对象处理方式与hashmaps(或关联数组)类似,所以您可以像处理data.adam.TEST一样处理data['adam']。如果您有一个变量索引,

我的意思是说我有JSON数据:

[{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}]
我想这样做:

var x = "ADAM";
alert(data.x.TEST);

当您将
x
设置为字符串对象时,它将不起作用,无法访问数组中的值:

alert(data[0]["ADAM"].TEST);

由于Java脚本中的对象处理方式与hashmaps(或关联数组)类似,所以您可以像处理data.adam.TEST一样处理data['adam']。如果您有一个变量索引,只需使用[]符号即可

var data = [{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}]
alert(data[0].ADAM.TEST);
alert(data[0]['ADAM'].TEST)
如果你这么做的话

var data = {"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}};
您可以使用data.ADAM.TEST和data['ADAM'].TEST访问它

 var data = [{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}],
 x = "ADAM";

alert(data[x].TEST);
这就是我的工作。这样可以将变量传递给函数,避免重复代码

function yourFunction(varName, elementName){
//json GET code setup
document.getElementById(elementName).innerHTML = data[varName].key1 + " " + data.[varName].key2;
}

你必须循环通过它们,因为我猜亚当/博比不是静态的。类似于数据[i].x.TEST
function yourFunction(varName, elementName){
//json GET code setup
document.getElementById(elementName).innerHTML = data[varName].key1 + " " + data.[varName].key2;
}