Извлекать пары ключ-значение из объекта JSON и группировать их - Javascript - PullRequest
0 голосов
/ 29 ноября 2018

Вот моя скрипка: DEMO1

Следующая функция извлекает ключи и значения и сохраняет их в новом массиве.Это работает правильно для объектов (json2 и json3), а не при наличии массива объектов (json1)

Есть ли способ сгруппировать набор пар ключ-значение в объект, а затем вставить этот объект вмассив? Desired output : [{"timestamp":1540457640,"speed":"70"},{"timestamp":1541383353,"speed":"80"},{"timestamp":1541383353,"speed":"70"},{"timestamp":1542256083,"speed":"70"}]

function iterate(obj) {
  for (var property in obj) {
    if (obj.hasOwnProperty(property)) {
      if (typeof obj[property] == "object") {
        iterate(obj[property]);
        if (isNaN(Number(property))) {
          if ((Array.isArray(obj[property])) && (typeof obj[property][0] != "object")) {
            simpleArrayKeys[property] = obj[property];
          }
        }
      } else {
        if (isNaN(Number(property))) {
          simpleArrayKeys[property] = obj[property];
        }
      }
    }
  }
}

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете отобразить массив данных следующим образом:

var output = json1.data.allStreamingData.map(d => {
  return {
    "timestamp": d.timestamp,
    "speed": d.streamData.speed
  }
})

http://jsfiddle.net/fghjtsnm/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...