开发者问题收集

如何从变量中获取JSON值

2011-05-13
21590

假设我有 {"data": {"243232": {"id": "testid","name": "test" } }>

因此当我执行

var a = data.243232.id ; alert(a); // 它给出我 testid.

但是当我执行

    var c = 243232; 
    var d = data.c.id;
    alert(d) //it gives as undefined.

因此当我在上述情况下发出警报时如何获取正确的值,谢谢。

2个回答

使用其他符号 var a = data['243232'].id

请记住,JS 中的所有对象实际上都只是关联数组。

对象键只是 js 中的变量,因此需要正确命名

变量命名规则是。

  • 第一个字符必须是字母(大写或小写)或下划线 (_) 或美元符号 ($)。
  • JavaScript 变量中的后续字符可以是字母、数字、下划线或美元符号。
  • JavaScript 变量名不能是 JavaScript 的保留字,请参阅 JavaScript 保留字符的详细信息

JSON 通常使用 eval() 函数将字符串转换为数据结构。这允许出现错误的键。如果您想引用不正确的键,则需要使用关联数组方法。

至于你添加的

var c = 243232; 
var d = data[c].id;
alert(d) //it gives as undefined.

会起作用

austinbv
2011-05-13

使用 data[c].id

在 JavaScript 中, .prop["prop"] 的语法糖。括号表示法允许您使用在使用 . 时无效的值(例如 background-image )和变量。

alex
2011-05-13