简体   繁体   English

将数据格式从单个对象转换为键值对的对象数组

[英]Conversion of data format from a single object to an array of objects of key value pairs

I have a data in a single object as json-format: 我在一个对象中有一个数据为json格式:

var a = {
    "1": "alpha",
    "2": "beta",
    "3": "ceta"
}

I want to convert it into the following format: 我想将其转换为以下格式:

var b = [
    {id: 1, label: "alpha"},
    {id: 2, label: "beta"},
    {id: 3, label: "ceta"}
];

Can someone suggest a way to do this? 有人可以建议一种方法吗?

You can try following 你可以尝试以下

 var a = { "1": "alpha", "2": "beta", "3": "ceta" } var b = []; for (var key in a) { if (a.hasOwnProperty(key)) { b.push({ "id": key, "label": a[key] }); } } console.dir(b); 

Please note - You need to update your object a - Commas are missing 请注意 - 您需要更新对象a - 缺少逗号

This proposal features Object.keys() and Array#map() . 该提议的特色是Object.keys()Array#map()

 var a = { "1": "alpha", "2": "beta", "3": "ceta" }, b = Object.keys(a).map(function (k) { return { id: k, label: a[k] }; }); document.write('<pre>' + JSON.stringify(b, 0, 4) + '</pre>'); 

try 尝试

var b = [];

for ( var key in a )
{
   b.push( { id : key, label :a[key] } );
}
console.log(b);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM