JQuery анализирует данные JSON динамически

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);
}

но как получить SOMETHING

  • 0
    в основном вам нужно, чтобы каждый элемент был jsonObject, который обернут внутри jsonArray ... так что вы можете написать метод для возврата jsonObject, который будет добавлен в глобальный jsonArray ...
  • 0
    @vivek это данные, которые у меня есть, я не могу изменить их формат
Теги:

1 ответ

7
Лучший ответ

Сопоставьте объект в массив

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

FIDDLE

  • 0
    Является ли data выходной переменной, массивом
  • 0
    @MarcoDinatsoli - да, это именно то, что вы просили.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню