javascript - 如何遍历 JSON obj 的属性?

标签 javascript jquery json

<分区>

Possible Duplicate:
How to loop on a JSON object?

我正在尝试找出如何遍历 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

}

最佳答案

for (var name in json_parsed) {
    console.log(name + "=" + json_parsed[name]);
}

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

if (json_parsed.hasOwnProperty(name))
    console.log(name + "=" + json_parsed[name]);

编辑

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

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

关于javascript - 如何遍历 JSON obj 的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12622744/

相关文章:

javascript - Jquery 当前页面链接样式

javascript - 选择刚刚单击的项目的下一个兄弟

javascript - 使用 jquery 计算动态创建的 html 元素

python - 迭代多个 json 行

java - 从 native 黑莓应用程序调用远程 JSON 对象的推荐方法是什么?

php - JSON.解析 : unexpected character

javascript - 运算符 ">>"(双箭头)和 "|"(单竖线)在 JavaScript 中是什么意思?

javascript - 剥离特定标签的内容

移动设备上的 Javascript 打印 (ios)

php - Codeigniter AJAX 在不刷新的情况下从 MySQL 数据库获取数据的正确方法