【问题标题】:Looping over dynamic JSON in a specific way以特定方式循环动态 JSON
【发布时间】:2013-06-02 14:06:05
【问题描述】:

我目前有这个 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

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

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

谢谢

【问题讨论】:

    标签: javascript json loops dynamic


    【解决方案1】:

    如果我理解正确的话:

    $.each(json.modules, function(i, item) {
        for (var key in item){
            // output, to example: "exam = 80"
            console.log(key + ' = ' + item[key]);
        }
    });
    

    【讨论】:

    • 是的,谢谢,我有 var item in i 而不是 key in item!
    猜你喜欢
    • 2019-02-13
    • 1970-01-01
    • 2014-07-22
    • 2021-02-08
    • 2022-01-09
    • 2015-02-09
    • 2020-06-28
    • 2019-08-21
    • 2019-05-14
    相关资源
    最近更新 更多