JSON в формат массива объектов - PullRequest
0 голосов
/ 27 июня 2018

Я хочу отобразить как преобразовать данные JSON в объекты массива, как можно решить эту проблему с помощью jquery или js? Данные JSON:

[{
  "new": 122,
  "old": 3389,
  "boarding": 1,
  "aws": 10,
  "azure": 12,
  "cli": 41
}];

Для массива объекта:

[
  ["new", 122],
  ["old", 3389],
  ["boarding", 1]
]

еще один шаблон мне нужен, у меня есть такой массив в Ruby

 [37, 
  3, 
  261, 
  1, 
  0, 
  1457]

для преобразования в add в качестве статической записи ключа

[
["new",37],
["old",3],
["boarding",1]
["aws",0]
["azure",1457]
] 

Ответы [ 3 ]

0 голосов
/ 27 июня 2018

Это достаточно просто. Просто введите массив в Object.entries (). как этот Object.entries (originalArr [0])

0 голосов
/ 27 июня 2018

Простая однострочная альтернатива:

const data = [{
  "new": 122,
  "old": 3389,
  "boarding": 1,
  "aws": 10,
  "azure": 12,
  "cli": 41
}];

const result = Object.keys(data[0]).map(k => ([k, data[0][k]]));

console.log(result);
0 голосов
/ 27 июня 2018

Во-первых, обратите внимание, что для этого вам вообще не нужен jQuery. jQuery - это прежде всего инструмент для изменения DOM. Для работы со структурами данных, такими как эта, JS - это все, что вам нужно.

Чтобы достичь того, что вам нужно, вы можете использовать Object.keys(), чтобы получить ключи 0-го объекта в вашем исходном массиве, затем вы можете зациклить их, используя map(), чтобы построить новый двумерный массив из этих данных:

var originalArr = [{
  "new": 122,
  "old": 3389,
  "boarding": 1,
  "aws": 10,
  "azure": 12,
  "cli": 41
}];

var newArr = Object.keys(originalArr[0]).map(function(key) {
  return [key, originalArr[0][key]];
});

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