访问JSON数组值



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

相关内容

  • 没有找到相关文章

最新更新