Javascript jquery动态解析json数据
我有这个json数据Javascript jquery动态解析json数据,javascript,jquery,json,Javascript,Jquery,Json,我有这个json数据 { "default": [ [ 1325876000000, 0 ], [ 1325876000000, 0 ], [ 1325876000000, 0 ], [ 1325876000000, 0 ] ], "direct": [ [ 1328196800000, 0
{
"default": [
[
1325876000000,
0
],
[
1325876000000,
0
],
[
1325876000000,
0
],
[
1325876000000,
0
]
],
"direct": [
[
1328196800000,
0
],
[
1328196800000,
100
],
[
1328196800000,
0
],
[
1328196800000,
0
]
],
"Sales": [
[
1330517600000,
0
],
[
1330517600000,
0
],
[
1330517600000,
91
],
[
1330517600000,
0
]
],
"Support": [
[
1332838400000,
0
],
[
1332838400000,
0
],
[
1332838400000,
0
],
[
1332838400000,
0
]
]
}
我想把它改成这种格式:
data = [{
label: 'defaul',
data: the array here
}, {
label: 'name',
data: the array here
}, {
label: 'name',
data: the array here
}, {
label: 'name',
data: the array here
}];
过去,我是这样做的:
var thearray = result.default.
var theOtherArray = result.direct
...
..
and so on
它起作用了,因为我已经知道了标签的名称。我是说标签的名字是静态的
但现在它们是动态的,所以我不知道标签的名称
请问我该怎么办
编辑
我知道我必须使用
var data = [];
$.each(result, function (index, value) {
var obj = {};
obj.label = SOMETHING
obj.data = result[label]
data.push(obj);
}
但是如何将对象映射到数组中呢
var data = $.map(result, function(arr,key) {
return {label: key, data: arr};
});
基本上,您需要每个元素都是jsonObject,它被包装在jsonArray中。。。因此,您可以编写一个方法来返回一个jsonObject,该对象将被添加到全局jsonArray…@vivek这是我拥有的数据,我无法更改其格式是输出变量,一个array@MarcoDinatsoli-是的,这正是你所要求的。我宁愿投一个使用香草JS的答案,但是Array.prototype.map只适用于IE9+a for循环不会那么糟糕,b问题确实提到了jQuery,所以。。。好的。