如何遍历JSON obj的属性?

che*_*711 10 javascript jquery json

可能重复:
如何循环JSON对象?

我试图找出如何遍历JSON obj的属性.我可以通过指定键来获取属性(参见下文),但是如何循环遍历所有这些属性呢?

var jsonStr = '{"Items":[{"Title": "Title 1", "Description":"Description 1"}]}';

var json_parsed = $.parseJSON(jsonStr);


// Cycle through all list items
$.each(json_parsed.Items, function(i, val) {
    var listItem = $(this);

    var title = listItem.attr('Title');
    var description = listItem.attr('Description');

    // Instead, loop through all attributes

}
Run Code Online (Sandbox Code Playgroud)

Ale*_*lov 20

for (var name in json_parsed) {
    console.log(name + "=" + json_parsed[name]);
}
Run Code Online (Sandbox Code Playgroud)

如果你需要检查是否在相关对象上定义了相应的属性,而不是原型链上的某些属性(这对于有问题的情况来说是荒谬的,但仍然有用),你可以添加这个检查:

if (json_parsed.hasOwnProperty(name))
    console.log(name + "=" + json_parsed[name]);
Run Code Online (Sandbox Code Playgroud)

编辑

要实际迭代所有数组对象的属性,请使用以下代码段:

var items = json_parsed.Items;
for (var i = 0; i < items.length; ++i) {
    console.log("Item #" + i);
    for (var name in items[i]) {
        console.log(name + "=" + items[i][name]);
    }
}
Run Code Online (Sandbox Code Playgroud)