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);
鞭打式退货:
Uncaught TypeError: Cannot read property 'name' of undefined
如何访问这些属性
除了打字错误("namn
")之外,问题是您将数组放入数组中:
var peopleArray = { people: [ parsedData ] };
由于parsedData
是一个数组,那么你最终得到的是这样的结构:
// peopleArray
{ people : [ [ { "person0" : ... }, ... ] ] }
// oops -----^
看到问题了吗?由于parsedData
已经是一个数组,因此正确的代码为:
var peopleArray = { people: parsedData };