【问题标题】:Loop through JSON and extract array / description, help required遍历 JSON 并提取数组/描述,需要帮助
【发布时间】:2013-01-15 17:26:07
【问题描述】:
[
{
    "Description": "Accommodation",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 24
        },
        {
            "label": "Excellent",
            "data": 30
        },
        {
            "label": "Good",
            "data": 96
        },
        {
            "label": "Poor",
            "data": 2
        }
    ]
},    
{
    "Description": "Food and Beverage",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 44
        },
        {
            "label": "Excellent",
            "data": 24
        },
        {
            "label": "Good",
            "data": 94
        },
        {
            "label": "Poor",
            "data": 13
        }
    ]
},
{
    "Description": "Meeting Space",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 30
        },
        {
            "label": "Below Expectations",
            "data": 2
        },
        {
            "label": "Exceeds Expectations",
            "data": 3
        },
        {
            "label": "Excellent",
            "data": 54
        },
        {
            "label": "Good",
            "data": 111
        },
        {
            "label": "Meets Expectations",
            "data": 7
        },
        {
            "label": "Poor",
            "data": 6
        }
    ]
},    
{
    "Description": "Service",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 25
        },
        {
            "label": "Exceeds Expectations",
            "data": 3
        },
        {
            "label": "Excellent",
            "data": 46
        },
        {
            "label": "Good",
            "data": 111
        },
        {
            "label": "Meets Expectations",
            "data": 8
        },
        {
            "label": "Poor",
            "data": 11
        }
    ]
},
{
    "Description": "Standard of Decor",
    "ChartData": [
        {
            "label": "Acceptable",
            "data": 38
        },
        {
            "label": "Excellent",
            "data": 34
        },
        {
            "label": "Good",
            "data": 126
        },
        {
            "label": "Poor",
            "data": 5
        }
    ]
}
]

使用上面的 JSON,我如何循环遍历每个并分配两个包含描述的变量,以及 jquery/javascript 中 ChartData 的数组,即

foreach() {
var Description = data[].Description;
var ArrayOfChartData = data[].ChartData;
}

我尝试使用 .each 循环,但无法返回正确的数据。

【问题讨论】:

    标签: jquery arrays json loops


    【解决方案1】:

    JavaScript 数组有一个forEach 方法:

    data.forEach(function (v) {
        var Description = v.Description;
        var ArrayOfChartData = v.ChartData;
        // now use that...
    });
    

    这是小提琴:http://jsfiddle.net/u7RuZ/


    很遗憾,IE $.each

    $.each(data, function (i, v) {
        var Description = v.Description;
        var ArrayOfChartData = v.ChartData;
        // now use that...
    });
    

    这是小提琴:http://jsfiddle.net/u7RuZ/1/

    【讨论】:

    • 已经试过了。 $.each(data, function (i, v) { var Description = v.Description; var ArrayOfChartData = v.ChartData; alert(Description); });返回“未定义” - 并按 ok 继续返回未定义。我正在使用 MVC,因此将我的模型转换为 JSON,如下所示: var data = '@Html.Raw(Json.Encode(Model.Summary))';会不会是这个问题?
    • @user1981131 - forEach$.each?
    • @user1981131 - 这当然是问题所在。删除引号:var data = @Html.Raw(Json.Encode(Model.Summary));
    • Uncaught TypeError: Object [......] has no method 'forEach'... 收到此错误。数据变量需要属于什么类型?它目前返回@Html.Raw(Json.Encode(Model.Summary))
    • 天啊!!该死的报价!非常感谢。当它只是引起问题的引号时,我花了很长时间才弄清楚这一点:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    相关资源
    最近更新 更多