KendoUI图表不接受JSON数据的键中的数字

时间:2013-01-23 11:50:31

标签: javascript json kendo-ui

如果我将此简单数据提供给KendoUI图表,则图表数据会正确显示。

var data = [
                {"state":"NY","abc":12312},
                {"state":"AZ","abc":12312},
                {"state":"CA","abc":12312},
                {"state":"VT","abc":12312}
            ];

请注意,上述JSON的键有STRINGS。

但是,如果我提供一个数字作为密钥,我会在kendo.all.js中收到“行号2156处的意外号码”错误。

var data = [
                {"state":"NY","1":12312},
                {"state":"AZ","1":12312},
                {"state":"CA","1":12312},
                {"state":"VT","1":12312}
            ];

任何帮助?

1 个答案:

答案 0 :(得分:0)

这个问题还有一个方法,但它不是一个真正的解决方案。你可以做的是如果你是按数组制作图表数据。例如,在我的情况下:

var arrData = new Array();
for (i = 0; i < data.d.length - 1; i++) {
    var tnt = new customData();
    tnt.displayField = data.d[i + 1][1].descriptionField.trim();

    for (var j = 1; j < data.d[0].length; j++) {
        var prop = 'a' +j.toString()
        var value = '';
        switch (displayName) {
            case 'DI_RESP':
                value = parseInt(data.d[i + 1][j].sampleField);
                tnt[prop] = value
                break;
            default:
                value = data.d[i + 1][j].sampleField;
                tnt[prop] = value;
                break;
        }
    }
    arrData.push(tnt);
}

如您所见,customData模型包含两个属性descriptionField和sampleField。 descriptionField是类别名称sampleField是一个浮点值。我附上一封信&#39; a&#39;只是为了使它成为一个字符串。错误将消失。