在JQuery中处理键值对以进行制图

时间:2017-06-13 11:59:15

标签: javascript php jquery ajax echarts

我有一个ageband,我用我的数据库生成PHP。输出是JSON编码的并返回到我的jQuery函数。

返回的数据如下所示:

{"result":{"20 - 29":"22","30 - 39":"78","40 - 49":"74","50 - 59":"71","60 - 69":"67","70 & Older":"0","Not Filled In (NULL)":"0"},"errors":false}

我使用AJAX / jQuery获取此数据:

if(!response.errors && response.result) {

}

关键是年龄范围,例如,年龄在20-19岁之间:22人等。

无论如何,我正在尝试使用数据创建一个饼图,我使用的是echarts(https://ecomfe.github.io/echarts/index-en.html

包含样本数据的数据格式如下所示:

data: [{ value: 12, name: 'Moto Z' },{ value: 618, name: 'Galaxy S7 Edge' }]

我希望我的数据显示如下:

data: [{ value: 22, name: '20-29' },{ value: 78, name: '30-39' }... etc]

如何在此图表中使用我返回的数据?

2 个答案:

答案 0 :(得分:1)

你需要遍历你的对象。

var data = []
$.each( result, function( key, value ) {
  data.push({ value: value, name: key })
});

Result是Ajax响应中结果对象的内容。 新的数据'变量应根据您的需要进行格式化。

答案 1 :(得分:0)

如果您不介意使用其他外部库,例如underscore,那么:

var data = _( _.pairs( json['result'] ) ).map( function(val) {
  return _.object( ['name', 'value'], val );
});