Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery动态解析json数据_Javascript_Jquery_Json - Fatal编程技术网

Javascript jquery动态解析json数据

Javascript jquery动态解析json数据,javascript,jquery,json,Javascript,Jquery,Json,我有这个json数据 { "default": [ [ 1325876000000, 0 ], [ 1325876000000, 0 ], [ 1325876000000, 0 ], [ 1325876000000, 0 ] ], "direct": [ [ 1328196800000, 0

我有这个json数据

{
  "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,所以。。。好的。