2014-07-26 32 views
1

我在json数据下面有这个。JSON中的必需帮助

 
[{"start_date":"2014-06-27","count":"21","value":"134"},{"start_date":"2014-06-28","count":"17","value":"120"},{"start_date":"2014-06-29","count":"21","value":"138"},{"start_date":"2014-06-30","count":"9","value":"121"},{"start_date":"2014-07-01","count":"12","value":"112"},{"start_date":"2014-07-02","count":"19","value":"132"}] 

我试图用highcharts来绘制这条折线图。

我想将我的数据转换成这样的东西。

 
[{ 
    name: "count", 
    data: [21, 17 .......] 
},{ 
    name: "value", 
    data: [134, 120, .......] 
}] 

如何使用jquery格式化我的数据?

我使用AJAX从数据库中获取数据。

任何帮助将非常有帮助。

在此先感谢。

+3

a)初始化一个空的结构像所需的,但没有数据。 b)遍历源数据并逐个填充目标对象。 – Sirko

回答

0
var array = [{"start_date":"2014-06-27","count":"21","value":"134"},{"start_date":"2014-06-28","count":"17","value":"120"},{"start_date":"2014-06-29","count":"21","value":"138"},{"start_date":"2014-06-30","count":"9","value":"121"},{"start_date":"2014-07-01","count":"12","value":"112"},{"start_date":"2014-07-02","count":"19","value":"132"}] 

var chartOptions = []; 
var countData = {name: "count", data: []}; 
var valueData = {name: "value", data: []}; 

array.forEach(function(value, index){ 
    countData.data.push(value.count); 
    valueData.data.push(value.value); 
}); 

chartOptions.push(countData); 
chartOptions.push(valueData); 
1

使用

var res= YOUR JSON DATA 
var data=$.parseJSON(res); 
var count= new Array(); 
var val=new Array(); 
$(data).each(function(i,u){ 
    count.push(u.count); 
    val.push(u.value); 
}); 

now you can use 

[{ 
    name: "count", 
    data: count 
},{ 
    name: "value", 
    data: val 
}] 
0

我将建立由highcharts服务器端所需要的JSON结构,在AJAX调用返回之前。只需将其直接添加到高图。

然后让用户浏览器进行格式化,效率会更高。