如何从变量获取JSON值?

时间:2022-04-19 14:00:21

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

假设我有{“数据”:{ " 243232 ":{ " id ":“testid”、“名称”:“测试”} } }

so when I do

所以当我做

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

var = data.243232.id;alert();//它给我作证。

but when I do like

但是当我喜欢的时候

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

so how to get correct value when i alert d in above case thanks.

因此,当我在上面的案例中警告d时如何得到正确的值,谢谢。

2 个解决方案

#1


11  

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

使用另一个符号var a = data['243232'].id

Remember all objects in JS are really just associative arrays.

记住JS中的所有对象都是关联数组。

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

对象键只是js中的一个变量,因此需要适当的命名

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.
  • 后面的字符可以是JavaScript变量中的字母、数字、下划线或美元符号。
  • The JavaScript Variable name can't be a reserved word of JavaScript, see details of JavaScript Reserved Characters
  • JavaScript变量名不能是JavaScript的保留字,请参阅JavaScript保留字符的详细信息。

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.

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

As for you addition

至于你添加

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

Will work

将工作

#2


6  

Use data[c].id.

使用数据[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.

在JavaScript中,.prop是用于["prop"]的语法糖。方括号表示法允许您使用在使用时无效的值。(例如背景图像)和变量。

#1


11  

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

使用另一个符号var a = data['243232'].id

Remember all objects in JS are really just associative arrays.

记住JS中的所有对象都是关联数组。

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

对象键只是js中的一个变量,因此需要适当的命名

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.
  • 后面的字符可以是JavaScript变量中的字母、数字、下划线或美元符号。
  • The JavaScript Variable name can't be a reserved word of JavaScript, see details of JavaScript Reserved Characters
  • JavaScript变量名不能是JavaScript的保留字,请参阅JavaScript保留字符的详细信息。

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.

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

As for you addition

至于你添加

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

Will work

将工作

#2


6  

Use data[c].id.

使用数据[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.

在JavaScript中,.prop是用于["prop"]的语法糖。方括号表示法允许您使用在使用时无效的值。(例如背景图像)和变量。