在javascript中迭代json数组

时间:2011-06-01 08:27:47

标签: javascript arrays json loops

在浏览了很多关于SO的类似问题之后,我仍然无法迭代我的json结构。如何获得内部数组的值(键)?

var data = {"User1":{"Service1":2,"Service2":1},"User2":{"Service3":1}}

for(var user in data) {
    document.write(user + ': ')

    for(var service in data[user]){
        document.write(service + ': ' + user[service])
    }
    document.write("<br />")
}

打印:

  

User1:Service1:undefined Service2:undefined

     

User2:Service3:undefined

我想要打印

  

User1:Service1:2 Service2:1

     

User2:Service3:1

javascript足够还是需要jQuery? 提前谢谢!

2 个答案:

答案 0 :(得分:8)

var data = {
  User1: {
    Service1: 2,
    Service2: 1
  },
  User2: {
    Service3: 1
  }
};
for (var user in data) {
  console.log("User: " + user);
  for (var service in data[user]) {
    console.log("\tService: " + service + "; value: " + data[user][service]);
  }
}

console.log替换为document.write或其他任何内容。

答案 1 :(得分:3)

document.write(service + ': ' + data[user][service])