eSo我有一些解析过的PHP数据,我从我的数据库中取出然后用json_encode()解析为JSON。然后我使用JSONparse()来制作我的数组的对象。我的代码如下所示:
$.get("fetchDatabase.php", function(data){
var parsedData = jQuery.parseJSON(data);
}
我留下了数组parsedData
,如下所示:
[
{"person0":{"name":["Erik Steen"],"age":["1"]}},
{"person1":{"name":["Frida Larsson"],"age":["1"]}},
{"person2":{"name":["Abdi Sabrie"],"age":["2"]}},
{"person3":{"name":["Achraf Malak"],"age":["3"]}},
{"person4":{"name":["Adam Anclair"],"age":["1"]}}
]
我已将这些数组放在名为
的数组中var peopleArray= { people: [ parsedData ] };
到目前为止一切顺利。现在我想要的是能够访问某些人属性。喜欢名字或年龄。我如何定位这些属性?我试图在没有运气的情况下打印这些属性。我试过了:
alert (peopleArray.people[0].person1.name);
Whiched回归:
Uncaught TypeError: Cannot read property 'name' of undefined
如何访问这些属性?
答案 0 :(得分:3)
除了拼写错误(“namn
”)之外,问题是你在一个数组中放入一个数组:
var peopleArray = { people: [ parsedData ] };
由于parsedData
是一个数组,所以你最终得到的是这样的结构:
// peopleArray
{ people : [ [ { "person0" : ... }, ... ] ] }
// oops -----^
看到问题?由于parsedData
已经是一个数组,因此正确的代码是:
var peopleArray = { people: parsedData };