迭代对象的jQuery(JSON)

时间:2010-11-20 12:09:27

标签: javascript jquery json

JSON是:

{"Name":"bb", "age":"10"}

我在互联网上搜索了很多,但大部分答案都是因为我之前知道“姓名”和“年龄”,所以他们像j.Name,j.age那样引用。

我只是想做同等的事情,因为我们不知道对象内部的键,我们想要遍历所有项目并打印出KEY和VALUE(我们之前不知道KEY)。每个声明在Firefox中都很好,但我发现IE不能支持每个循环...

3 个答案:

答案 0 :(得分:4)

您可以使用for...in循环,如下所示:

var obj = {"Name":"bb", "age":"10"};
for(var key in obj) {
  if(obj.hasOwnProperty(key))
    alert("Key: " + key + "\nValue: " + obj[key]);
}

或者在jQuery中$.each()如果需要闭包,就像这样:

var obj = {"Name":"bb", "age":"10"};
$.each(obj, function(key, value) {
    alert("Key: " + key + "\nValue: " + value);
});

You can test both versions here

答案 1 :(得分:1)

如果没有jQuery,您将使用for-in循环

var person = {"Name":"bb", "age":"10"};

for(var attr in person) {
  alert('Attribute: '+attr);
  alert('Value: '+person[attr]);
} 

...在jQuery中:

var person = {"Name":"bb", "age":"10"};
$.each(person, function(attr, value) {
  alert('Attribute: '+attr);
  alert('Value: '+value);
});

答案 2 :(得分:1)

var json = {"Name":"bb", "age":"10"}
for ( var i in json ) {
    console.log( json[i] );
}