jquery和一个JSON字符串

jquery和一个JSON字符串,jquery,json,Jquery,Json,好吧,我想我有一个糟糕的时刻。通常我可以在JSON上迭代而不会出现问题 下面是一个示例字符串 { "service 1": { "admin": {}, "list": [ "1" ], "info": [ { "id": "1", "details": "Failed", "cur

好吧,我想我有一个糟糕的时刻。通常我可以在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");

});
$('.refreshAllb')。单击(函数()
{
$.post('services.json',{“x”:“blank”},函数(数据)
{
$('body').html(“”);
$。每个(数据、功能(i)
{
$。每个(数据[i],函数(x,z)
{
$('body')。追加(x.z+“
”); }); }); }“json”); });
我循环了使用each()运行each()到单独运行each()的各种概念。我一直返回的是object或undefined。所以我知道我在大致的范围内,但我不是一针见血。。想法?

$('.refreshAllb')。单击(函数(){
$('.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");
});
$.post('services.json',{“x”:“blank”},函数(数据){ $('body').empty(); $.each(数据、函数(serviceName){ $。每个(此,功能(键){ $('body')。追加(serviceName+“+key+”=“+this+”
); }); }); }“json”); });
$('.refreshAllb')。单击(函数(){
$.post('services.json',{“x”:“blank”},函数(数据){
$('body').empty();
$.each(数据、函数(serviceName){
$。每个(此,功能(键){
$('body')。追加(serviceName+“+key+”=“+this+”
); }); }); }“json”); });
现在我仍然没有收到任何退货。我得到“o,未定义,未定义,未定义”。我想做的就是打印“服务1”,“服务2”,我很高兴在这一点上…现在我仍然几乎没有得到任何回报。我得到“o,未定义,未定义,未定义”。我想做的就是打印“服务1”,“服务2”,我很乐意在这一点上…很好,好的。现在我有进展了。我最初的方法不起作用有什么具体原因吗?我通常按照我原来的帖子以类似的方式处理它,但这篇文章让我大吃一惊。如果能更多地了解我所做的事情中失败的一面在哪里发挥作用,那就太好了。@chris:你需要提醒自己,你的行为是什么。传递给回调函数的第一个参数是键,第二个参数是值,而不是相反。请注意,
与第二个参数相同,因此在大多数情况下不需要第二个参数。很好,好的。现在我有进展了。我最初的方法不起作用有什么具体原因吗?我通常按照我原来的帖子以类似的方式处理它,但这篇文章让我大吃一惊。如果能更多地了解我所做的事情中失败的一面在哪里发挥作用,那就太好了。@chris:你需要提醒自己,你的行为是什么。传递给回调函数的第一个参数是键,第二个参数是值,而不是相反。请注意,
与第二个参数相同,因此在大多数情况下不需要第二个参数。