处理 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 );
});
我有一个年龄段,是我用 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 );
});