2

我正在处理来自返回 JSON 字符串的 Web 服务的 REST 响应。AJAX 的结果响应是我得到了很多信息,我使用 JQuery.parseJSON(result) 从每个 JSON 标记中获取值。

从这个结果响应中,我需要对其进行格式化,使其适合 Highchart。Highchart 需要将其格式化为:

series: [{
    name: 'Tokyo',
    data: [7.0, 6.9, 9.5, 14.5, 18.2],
    name: 'LA',
    data: [7.0, 6.9, 9.5, 14.5, 18.2]
}]

对我来说,遍历结果数据并创建像 Highchart 想要的 JSON 字符串的最佳方式是什么?下面是解决这个问题的开始,但我无法完成。

success: function (result) {
    var resultobj = jQuery.parseJSON(result);
    for (i = 0; i < resultobj.length; i++) {
        var objt = resultobj[i];
        // what TODO?????
        highchartresultarray.push(objt.name);
    }

有什么建议么?

4

1 回答 1

0

我不熟悉Highcharts,但基于问题中的系列数组(我认为这是一个小错误,因为您已经展示了一个具有多个同名属性的对象 - 每个名称和数据属性都应该封装在它们自己的从外观上看各个对象)和您提供的示例数据,我制作了一个简单的函数,它应该会给您预期的结果 - 该函数的前提是创建一个空数组来保存您的对象,然后遍历原始数据将您需要的位从原始数据放入一个空对象中,并在每次迭代时将填充的对象放入容器数组中——我没有很好地解释事情!所以这是代码 -

function highchartdata(data) {

highchartarray = [];

$.each(data,function(i,v){

    var highchartobj = {};

    highchartobj.data = v.data.split(',');

    highchartobj.name = v.name;

    highchartarray.push(highchartobj);

});

return highchartarray;

};

这是一个工作小提琴 - http://jsfiddle.net/nuqJD/10/

于 2012-11-23T15:09:34.747 回答