0

我目前有这个 JSON 文件

{   
"name": "Connor Atherton",
"course": "Combined Sciences",

"modules" : {

    "MATH210": 
    {
        "weekly": 65,
        "weekly2": 76,
        "exam": 80
    },

    "MATH215": {
        "weekly": 65,
        "exam": 80
    },

    "MATH220": {
        "weekly": 65,
        "exam": 80
    },

    "MATH225": {
        "weekly": 65,
        "weekly2": 98,
        "exam": 80
    },

    "SCC210": {
        "weekly": 65,
        "exam": 80
    },

    "SCC204": {
        "weekly": 65,
        "exam": 80
    }

}

}

正如您在每个模块中看到的那样,可能会有不同数量的属性将被动态检索。

我目前正在像这样循环每个模块

$.each(json.modules, function(i, item) {
    console.log(i + " " + item.exam);
});

但是,这不适用于所有模块,因为它们都可以具有不同数量的属性。

我一直在尝试使用 for 循环遍历每个模块的属性,但我无法让它正常工作。我想我应该使用

item.length

在循环中的某个地方,但我不确定。

如果每个模块具有不同数量的属性,您是否知道如何遍历每个模块?

谢谢

4

1 回答 1

3

如果我理解正确:

$.each(json.modules, function(i, item) {
    for (var key in item){
        // output, to example: "exam = 80"
        console.log(key + ' = ' + item[key]);
    }
});
于 2013-06-02T14:10:50.790 回答