Can*_*lan 1 jquery parsing json
我的API使用以下JSON结构响应我的调用:
[
{
"order": {
"total": "240.0",
"completed_at": 1358432545000
}
},
{
"order": {
"total": "720.0",
"completed_at": 1359474090000
}
}
]
Run Code Online (Sandbox Code Playgroud)
但是,为了在Flot Graphs中使用我的数据,我希望这个JSON的结构如下:
{
"label":"Order",
"dataBar":[
[
1358432545000,
240.0
],
[
1325635200000 ,
720.0
]
]
}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码,但它以逗号分隔返回所有数据,没有'['和']'
var flotData = $.map(API_Response, function(i){ return [i.order.completed_at, parseInt(i.order.total)] });
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
你可以这样做:
var data2 = {
label: 'Order',
dataBar: data.map(function(v){return [
v.order.completed_at,
parseFloat(v.order.total)
]})
};
Run Code Online (Sandbox Code Playgroud)
演示(打开控制台查看数据2)
但请注意,没有什么可以称为"JSON结构"或"JSON对象".
你拥有的是一个普通的JavaScript对象,即使它被发送到用JSON编码的浏览器.
现在假设您不知道对象的属性被调用order,那么您可以使用它
var label;
for (var k in data[0]) {
label = k[0].toUpperCase()+k.slice(1);
break;
}
var data2 = {
label: label,
dataBar: data.map(function(v){return [
v[k].completed_at,
parseFloat(v[k].total)
]})
};
Run Code Online (Sandbox Code Playgroud)
(如果不支持IE 8,它会更干净,因为我可以使用它Object.keys.)
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |