我在单个对象中有一个数据为json格式:
var a = {
"1": "alpha",
"2": "beta",
"3": "ceta"
}
我想将其转换为以下格式:
var b = [
{id: 1, label: "alpha"},
{id: 2, label: "beta"},
{id: 3, label: "ceta"}
];
有人可以建议一种方法吗?
答案 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);