Javascript 尝试打印json值时为NaN
我试图解析一个json,作为在linked in中查询连接的响应 当我在一个数组中作为一个整体执行JSON.stringify时,我可以在console.log中看到值 但当我尝试在数组中获取单个值时,我得到了NaN。 当我可以看到整个数组时,为什么不能获得单个值 这是密码Javascript 尝试打印json值时为NaN,javascript,json,nan,Javascript,Json,Nan,我试图解析一个json,作为在linked in中查询连接的响应 当我在一个数组中作为一个整体执行JSON.stringify时,我可以在console.log中看到值 但当我尝试在数组中获取单个值时,我得到了NaN。 当我可以看到整个数组时,为什么不能获得单个值 这是密码 var response = jQuery.parseJSON(data); var person = response.person[0]; 在上面的代码中,我将数据作为ajax调用的响应 里面的人是一个数组,我
var response = jQuery.parseJSON(data);
var person = response.person[0];
在上面的代码中,我将数据作为ajax调用的响应
里面的人是一个数组,我可以把数组串成一个整体。
如果我这样做
我会得到
{"id":"someId","first-name":"someName","last-name":"someName, DMC-E, DMC-D","picture-url":"https://soempicture"}
但是当我试着单独去做的时候
console.log(person.first-name);
我得到了NaN,试图对其进行strigiff,结果为空
如果我遗漏了什么,我应该进行字符串拆分以获取值吗
谢谢您无法使用句点符号访问
first name
属性,因为该名称包含破折号
代码将被解释为person.first-name
,即person.first
属性减去name
变量
对于名称不能作为标识符的任何属性,请使用括号表示法:
console.log(person['first-name']);
要访问包含无法出现在标识符中的字符的密钥(
-
),请使用括号,即:
person["first-name"]
您得到的是
NaN
,因为person.first-name
是undefined-undefined
,这不是一个数字。也就是说,如果您可以控制JSON数据,您可以使用camelCase
或snake\u case
格式化变量,以简化解析。
person["first-name"]