jquery动态解析json数据

时间:2014-04-15 08:35:55

标签: javascript jquery json

我有这个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);
}

但是如何获得SOMETHING

1 个答案:

答案 0 :(得分:7)

将对象映射到数组

var data = $.map(result, function(arr,key) {
    return {label: key, data: arr};
});

FIDDLE