You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery的getJSON中用变量访问JSON对象属性?

如何通过变量动态访问JSON对象的属性

你遇到的问题是点符号访问属性时会把i当成字面量的属性名,而不是你数组里的变量值。要解决这个问题,你需要用方括号语法来访问对象属性,它支持通过变量来动态获取属性。

修正后的代码

var getConfig = $.getJSON(data, function(json) {
  var apps = ["nvg"];
  apps.forEach(function(i){
    alert(i);
    // 这里把 json.i 改成 json[i]
    alert(json[i].URL.DEV);
  });
});

为什么这样有效?

  • 点符号(json.i):JavaScript会把i当作一个固定的属性名去查找,也就是它会找json里有没有名为"i"的属性,显然你的JSON里没有这个属性,所以会报错或者返回undefined。
  • 方括号语法(json[i]):JavaScript会先计算变量i的值(也就是数组里的"nvg"),然后用这个值作为属性名去查找对应的对象,这样就能正确拿到你要的nvg对象了。

额外说明

如果你的数组里有特殊字符的属性名(比如带空格、连字符的),方括号语法同样适用,而点符号就不行。比如如果你的属性是"my-app",只能用json["my-app"]或者变量形式json[varName]来访问。

内容的提问来源于stack exchange,提问作者BobbyGIS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:07:47