使用jQuery $ .each()迭代对象

时间:2013-10-23 13:38:56

标签: jquery object each

尝试迭代并从以下对象获取键/值:

var schedules = {
    "0": {
        "STAGE1": "1/2/13",
        "STAGE2": "2/12/13"
    },
    "1": {
        "STAGE1": "2/4/13",
        "STAGE2": "3/9/13"
    }
    "2": {
        "STAGE1": "4/13/13",
        "STAGE2": "5/21/13"
    }
}

使用以下jQuery:

$.each(schedules, function(index) {

    $.each(schedules[index], function(key, value) {
        $("ul#list").append("<li>" + key + " " + value + "</li>");
    });

});

所以我最终得到一个简单的列表:

  • STAGE1 1/2/13
  • STAGE2 2/12/13
  • STAGE1 2/4/13
  • STAGE2 3/9/13
  • STAGE1 4/13/13
  • STAGE2 5/21/13

我似乎没有正确使用$ .each()...我做错了什么? THX!

4 个答案:

答案 0 :(得分:8)

简单的语法错误:http://jsfiddle.net/46bv5/

"1": {
    "STAGE1": "2/4/13",
    "STAGE2": "3/9/13"
}, //need a comma here
"2": {
    "STAGE1": "4/13/13",
    "STAGE2": "5/21/13"
}

当某些内容无效时,请务必检查错误控制台。

答案 1 :(得分:1)

你忘记了一个逗号:

"1": {
    "STAGE1": "2/4/13",
    "STAGE2": "3/9/13"
}, // HERE

答案 2 :(得分:1)

是的,语法错误请在“2”之前加上逗号

"1": {
    "STAGE1": "2/4/13",
    "STAGE2": "3/9/13"
}, //here you have missed comma
"2": {

答案 3 :(得分:0)

始终通过在线JSON格式器验证JSON模式,以检查JSON数组:

好像您缺少逗号。需要逗号或},而不是字符串。

https://jsonformatter.curiousconcept.com/#