jquery each和一个JSON字符串

时间:2011-10-03 21:54:12

标签: jquery json

好的,我觉得我有一个糟糕的时刻。通常我可以毫无问题地迭代JSON。

这是一个示例字符串

{
    "service 1": {
        "admin": {},
        "list": [
            "1"
        ],
        "info": [
            {
                "id": "1",
                "details": "Failed",
                "curr-status": "Warning",
                "curr-status-class": "warning"
            }
        ],
        "status": [
            {}
        ]
    },
    "service 2": {
        "admin": {},
        "list": [
            "1"
        ],
        "info": [
            {
                "id": "1",
                "details": "Failed",
                "curr-status": "Warning",
                "curr-status-class": "warning"
            }
        ],
        "status": [
            {}
        ]
    }
}

我要做的是能够在每个服务上执行$ .each()然后从中制作一个漂亮的列表,并最终根据等进行排序。

我上次尝试迭代失败的尝试是:

$('.refreshAllb').click(function()
{
    $.post('services.json', {"x":"blank"}, function(data)
    {
        $('body').html('');
        $.each(data, function(i)
        {
            $.each(data[i], function(x, z)
            {
                $('body').append(x.z+"<br>");
            });
        });
    }, "json");

});

我已经使用each()运行each()的各种概念循环到每个概念。我继续返回的只是对象对象或未定义。所以我知道我在球场上,但我没有在头上钉钉子......想法?

1 个答案:

答案 0 :(得分:4)

$('.refreshAllb').click(function() {
    $.post('services.json', {"x":"blank"}, function(data) {
        $('body').empty();
        $.each(data, function(serviceName) {
            $.each(this, function(key) {
                $('body').append(serviceName + "." + key + "=" + this + "<br/>");
            });
        });
    }, "json");
});