-1

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 ] };

到目前为止,一切都很好。现在我想要的是能够访问某些 people 属性。比如名字或年龄。我如何定位这些属性?我试图在没有运气的情况下打印这些属性。我试过了:

alert (peopleArray.people[0].person1.name);

哪个返回:

Uncaught TypeError: Cannot read property 'name' of undefined

如何访问这些属性?

4

1 回答 1

3

除了错字(“ namn”)之外,问题在于您将数组放入数组中:

var peopleArray = { people: [ parsedData ] };

既然parsedData是一个数组,那么你最终得到的是这样的结构:

// peopleArray
{ people :  [ [  { "person0" : ... }, ...  ] ]  }
//  oops -----^

看到问题了吗?由于parsedData已经是一个数组,因此正确的代码是:

var peopleArray = { people: parsedData };
于 2012-04-05T18:39:00.283 回答