将对象属性转换为对象数组

时间:2018-09-05 09:05:08

标签: javascript arrays json object converters

我得到的输出看起来像这样:

{'1536135941922': 'true',
 '1536135962942': 'false',
 '1536135986966': 'false',
 '1536135989968': 'true'}

我需要它看起来像这样:

[{'1536135941922': 'true'},
 {'1536135962942': 'false'},
 {'1536135986966': 'false'},
 {'1536135989968': 'true'}]

所以我的前线可以消耗掉它。我可以怎样转换它?

4 个答案:

答案 0 :(得分:3)

您可以使用Object.entries().map()方法来获得所需的输出:

let data = {
  '1536135941922': 'true',
  '1536135962942': 'false',
  '1536135986966': 'false',
  '1536135989968': 'true'
};
  
let result = Object.entries(data).map(( [k, v] ) => ({ [k]: v }));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 1 :(得分:2)

这是一个带有Object.entriesArray.map的单线:

const data = {'1536135941922': 'true',
  '1536135962942': 'false',
  '1536135986966': 'false',
  '1536135989968': 'true'};
const convert = (object) => Object.entries(data).map(([key, value]) => ({ [key]: value }));
console.log(convert(data));

您的后端设置是什么?我假设使用Node,因为您标记了 javascript

答案 2 :(得分:1)

您可以通过使用新对象来映射对象的条目。

方法:

var object = { '1536135941922': 'true', '1536135962942': 'false', '1536135986966': 'false', '1536135989968': 'true' },
    array = Object.entries(object).map(([k, v]) => ({ [k]: v }));
  
console.log(array);

答案 3 :(得分:0)

如果您使用的是PHP,则可以为对象创建对象并将其推入数组。之后,您可以使用json_encode函数将数组对象转换为json并将其返回到前面。