处理 JQuery 中的键值对以制作图表

Handling key-value pair in JQuery for charting

我有一个年龄段,是我用 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]

如何将返回的数据用于此图表?

您需要遍历您的对象。

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

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

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

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