JSON到对象数组格式

时间:2018-06-27 19:19:58

标签: javascript arrays json ruby

我想显示像将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]

转换为静态添加为键项

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

3 个答案:

答案 0 :(得分:4)

首先请注意,您根本不需要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);

答案 1 :(得分:1)

很简单。只需将数组输入Object.entries()。像这样的Object.entries(originalArr [0])

答案 2 :(得分:1)

一种简单的单行替代方法:

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