调用数字JSON字段名称

时间:2015-05-12 01:24:50

标签: javascript json

我为项目使用简单的REST API,我需要的一些数据使用数字字符串作为顶级父节点。当试图在我的javascript中调用它时,它会引发语法错误。

这里是JSON对象:

  

{" 23497400" {" ID":23497400,"名称":foobar的," profileIconId":627,&#34 ; revisionDate":1431385425000}}

以及我在这里抛出错误:

var myArr = JSON.parse(xmlhttp.responseText);
var name1 = myArr.23497400.name;

我错过了一些非常简单的东西,对吗?

2 个答案:

答案 0 :(得分:5)

如果密钥不是有效的标识符名称,则需要使用bracket notation

var name1 = myArr['23497400'].name;

使用dot notation时,

  

属性必须是有效的JavaScript标识符,即序列   字母数字字符,也包括下划线(" _")和   美元符号(" $"),不能以数字开头。例如,   对象。$ 1是有效的,而object.1不是。

答案 1 :(得分:1)

点符号仅适用于有效标识符的属性名称:它们必须以字母,$,_或unicode转义序列开头。对于所有其他属性名称(例如本例中的数字属性),必须使用括号表示法,如下所示:

myArr['23497400'].name