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

时间:2016-02-22 12:34:48

标签: javascript json

我在单个对象中有一个数据为json格式:

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

我想将其转换为以下格式:

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

有人可以建议一种方法吗?

3 个答案:

答案 0 :(得分:5)

您可以尝试以下



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




请注意 - 您需要更新对象a - 缺少逗号

答案 1 :(得分:5)

此提案包含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>');

答案 2 :(得分:4)

var b = [];

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