soz*_*hen 2 javascript jquery parsing json highcharts
我正在与HighCharts战斗相当于格式化series选项的数据输入.最后我看到这里的链接解决了我的数据格式化和输入问题.
HighCharts饼图可识别的数据格式(format 1)如上所示:
[["chrome",15],["firefox",20]]
Run Code Online (Sandbox Code Playgroud)
我实际上想要从外部URL输入动态数据并格式化数据,以便HighCharts可以识别它.我从URL获得的数据格式如下(format 2):
[
{
"status": "Stopped \/ Idle",
"val": 17.469444444444,
}, {
"status": "Working",
"val": 0,
}, {
"status": "Headland Turning",
"val": 0,
}, {
"status": "Transport",
"val": 0.15333333333333,
}
]
Run Code Online (Sandbox Code Playgroud)
它已经是JSON格式.
我只是想知道的是,我有必要从写数据解析器format 2来format 1?或者我错过了HighCharts可以识别JSON格式数据的东西,我实际上不需要编写解析器?
我是HighCharts的新手,所以如果我的一些问题描述没有意义,请随时指出.谢谢!
编辑:感谢所有人回答我的问题!
当脚本需要特定格式的数据时,您通常必须将数据映射到适合格式.这可以在服务器代码中或使用javascript进行修改
可以使用jQuery $.map将对象或数组重新配置为另一个数组.
演示:http://jsfiddle.net/qpsSe/1
请注意,示例JSON中的尾随逗号需要删除才能验证JSON
/* "json" is your response object, modify variable names to match */
var chartData=$.map( json, function( obj,i){
return [[ obj.status, obj.val]];
})
Run Code Online (Sandbox Code Playgroud)
原生javascript中的替代方法
var chartData=[];
for( i=0; i<json.length; i++){
chartData.push( [ json[i]['status'], json[i]['val'] ])
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9458 次 |
| 最近记录: |