开发者

How to get a JSON value from a variable

suppose I have {"data": {"243232": {"id": "testid","name": "test" } }}

so when I do

var a = data.243232.id; alert(a); // it gives me testid.

but when I do like

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

so how to get corr开发者_StackOverflowect value when i alert d in above case thanks.


Use the other notation var a = data['243232'].id

Remember all objects in JS are really just associative arrays.

Object keys just a variable in js and thus require proper naming

the variable naming rules are.

  • The first character must be a letter (either uppercase or lowercase) or an underscore (_), or a dollar sign ($).
  • Subsequent characters can be letters, numbers, underscores, or dollar signs in JavaScript Variables.
  • The JavaScript Variable name can't be a reserved word of JavaScript, see details of JavaScript Reserved Characters

JSON normally uses an eval() function to turn the string into a data-structure. This allows for incorrect keys. If you want to reference an improper key, you need to use the associative array method.

As for you addition

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

Will work


Use data[c].id.

In JavaScript, .prop is syntactic sugar for ["prop"]. The bracket notation allows you to use values which would be invalid when using . (such as background-image) and variables.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜