我有一份数据,以json格式存储在单个对象中:
var a = {
"1": "alpha",
"2": "beta",
"3": "ceta"
}
我想把它转换成以下格式:
var b = [
{id: 1, label: "alpha"},
{id: 2, label: "beta"},
{id: 3, label: "ceta"}
];
有人能提供一种方法来完成这个任务吗?
我有一份数据,以json格式存储在单个对象中:
var a = {
"1": "alpha",
"2": "beta",
"3": "ceta"
}
var b = [
{id: 1, label: "alpha"},
{id: 2, label: "beta"},
{id: 3, label: "ceta"}
];
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
- 逗号缺失。这个提案涉及到 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>');
尝试
var b = [];
for ( var key in a )
{
b.push( { id : key, label :a[key] } );
}
console.log(b);