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

发布于 2024-11-07 12:52:43 字数 177 浏览 0 评论 0原文

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

[{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}]

并且我想做这样的事情:

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

What I mean by that is say I have JSON data as such:

[{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}]

and I want to do something like this:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

北方的韩爷 2024-11-14 12:52:43
var data = [{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}],
    x = "ADAM";

alert(data[0][x].TEST);

http://jsfiddle.net/n0nick/UWR9y/

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

alert(data[0][x].TEST);

http://jsfiddle.net/n0nick/UWR9y/

清君侧 2024-11-14 12:52:43

由于 javascript 中的对象就像哈希图(或关联数组)一样处理,因此您可以像执行 data.adam.TEST 一样执行 data['adam'].TEST 。如果你有一个变量索引,只需使用 [] 符号即可。

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 访问它

Since objects in javascripts are handled just like hashmaps (or associative arrays) you can just do data['adam'].TEST just like you could do data.adam.TEST. If you have a variable index, just go with the [] notation.

var data = [{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}]
alert(data[0].ADAM.TEST);
alert(data[0]['ADAM'].TEST)

if you just do

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

you could access it using data.ADAM.TEST and data['ADAM'].TEST

波浪屿的海角声 2024-11-14 12:52:43

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

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

That won't work as you're setting x to be a string object, no accessing the value from your array:

alert(data[0]["ADAM"].TEST);
锦欢 2024-11-14 12:52:43
 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;
}
 var data = [{"ADAM":{"TEST":1}, "BOBBY":{"TEST":2}}],
 x = "ADAM";

alert(data[x].TEST);

This is what worked for me. This way you can pass in a variable to the function and avoid repeating you code.

function yourFunction(varName, elementName){
//json GET code setup
document.getElementById(elementName).innerHTML = data[varName].key1 + " " + data.[varName].key2;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文