通过循环json数据构建一系列的剑道图表?

时间:2014-08-12 17:39:03

标签: javascript asp.net-mvc kendo-ui

我在弄清楚如何解决这个问题时遇到了一些困难。基本上我有一些返回的JSON,如下所示:

{
"pie": {
"slice": [
  {
    "-ch": "1",
    "-val": "0.0797435897435897"
  },
  {
    "-ch": "2",
    "-val": "0.00743589743589744"
  },
  {
    "-ch": "3",
    "-val": "0.247435897435897"
  },
  {
    "-ch": "4",
    "-val": "0.497179487179487"
  },
  {
    "-ch": "5",
    "-val": "0.168205128205128"
  }
]
}
}

我从控制器获取这些数据到javascript就好了。但是,我想将数据绑定到饼图。唯一的问题是,我将拥有不同数量的渠道。在这个例子中,我有5个频道。我在javascript中的饼图看起来像这样:

$("#chartDiv").kendoChart({
            title: {
                position: "bottom",
                text: "Chart"
            },
            legend: {
                visible: false
            },
            chartArea: {
                background: "transparent"
            },
            seriesDefaults: {
                type: "donut",
                startAngle: 150
            },
            series: [
            {
                name: "Chart",
                data: ???????How to get the data here????????
            }],
            tooltip: {
                visible: true,
                template: "#= category #: #= value #%"
            }
        });
    }
});

我已经尝试在调用中构建一个循环,我也尝试过构建定义的字符串,但它似乎也不喜欢那个解决方案(尽管我可能会错误地实现它。)感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我明白了。

设置数据:dataVariable并定义dataVariable,如下所示:

for (var i = 0; i < json.Slices.length; i++) {
                dataVariable.push({
                    category: json.Slices[i].Ch,
                    value: parseFloat(json.Slices[i].val)
                });
        };