2016-02-22 57 views
4

我有個數據中的單個對象作爲JSON格式的對象的數組:轉換從一個單一的對象數據格式的關鍵值對

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

我想將其轉換成的格式如下:

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

有人可以建議一種方法來做到這一點?

回答

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 - 逗號缺失

4

嘗試

var b = []; 

for (var key in a) 
{ 
    b.push({ id : key, label :a[key] }); 
} 
console.log(b); 
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>');

+1

我的意思是要做到這一點,但然後寫別的東西完全:d。感謝您指出。 – thefourtheye

+1

@妮娜 - 尼斯回答! – nikhil

相關問題