Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试打印json值时为NaN_Javascript_Json_Nan - Fatal编程技术网

Javascript 尝试打印json值时为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调用的响应 里面的人是一个数组,我

我试图解析一个json,作为在linked in中查询连接的响应

当我在一个数组中作为一个整体执行JSON.stringify时,我可以在console.log中看到值 但当我尝试在数组中获取单个值时,我得到了NaN。 当我可以看到整个数组时,为什么不能获得单个值

这是密码

  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"]