为什么我从json中获取未定义的数据?

时间:2018-07-18 08:48:21

标签: javascript angularjs

在我的angularjs文件中,我将json结果字符串化了

console.log("details... "+JSON.stringify(response));

某种程度上是这种性质的

{"data":{"success":true,"errorCode":0,"data":[{"id":1098,"surname":"Tony","firstname":"Wilson","othername":"","dob":"Jun 9, 2000 12:00:00 AM","gender":"MALE",

当我尝试为名字注册时,我得到了一个令人惊讶的未定义结果

console.log("firstname... "+ response.data.data.firstname) ;

请问可能有什么问题

3 个答案:

答案 0 :(得分:1)

response.data.data是一个数组,方括号就是[]。您必须先访问项目本身,然后才能访问该项目的firstname属性。

例如,要获取第一项,您将

console.log(response.data.data[0].firstname)

答案 1 :(得分:1)

代替:

console.log("firstname... "+ response.data.data.firstname) ;

要做:

console.log("firstname... "+ response.data.data[0].firstname) ;      

之所以会这样,是因为firstname是指向名为data的数组内的对象的键。

答案 2 :(得分:1)

您的最终data是一个数组。您必须在其上指定索引:

var response = {"data":{"success":true,"errorCode":0,"data":[{"id":1098,"surname":"Tony","firstname":"Wilson","othername":"","dob":"Jun 9, 2000 12:00:00 AM","gender":"MALE"}]}};
console.log("firstname... "+ response.data.data[0].firstname)