如何解析JSON对象Map

时间:2014-04-09 18:36:58

标签: javascript json loops map

如果我有一个JSON对象图:

var dataItem=[{
  "Lucy":{
    "id": 456,
    "full_name": "GOOBER, ANGELA",
    "user_id": "2733245678",
    "stin": "2733212346"
  },
  "Myra":{
    "id": 123,
    "full_name": "BOB, STEVE",
    "user_id": "abc213",
    "stin": "9040923411"
  }
}]

我想迭代这个列表并访问名称(即Lucy,Myra)和相应的信息

我遇到的所有循环都在这个循环中循环:

var dataItem = [
    {"Name":"Nthal","Class":3,"SubjectName":"English "},
    {"Name":"Mishal","Class":4,"SubjectName":"Grammer"},
    {"Name":"Sanjeev","Class":3,"SubjectName":"Social"},
    {"Name":"Michal","Class":5,"SubjectName":"Gk"},
]

for(x in dataItem)
{
alert(dataItem[x].Name);
alert(dataItem[x].Class);
alert(dataItem[x].SubjectName);
}

提前致谢

2 个答案:

答案 0 :(得分:1)

你所拥有的不是JSON,也许是因为你已经解析了它。您有一个由单个对象组成的数组,其中包含其键的名称。无论如何,我将向您展示如何访问这些数据:

var data = dataItem[0];
for(name in data) {
    alert(name);
    alert(data[name].id);
    alert(data[name].full_name);
}

答案 1 :(得分:0)

for (var x in dataItem[0]) {
    if (dataItem[0].hasOwnProperty(x)) {
        console.log(x);
    }
}

http://jsfiddle.net/B44LW/

如果您需要其他属性,则可以使用括号表示法:

dataItem[0][x].id