2016-03-28 46 views
-2

我通過AJAX調用以JSON格式從PHP文件中獲取響應。使用jQuery從JSON響應中創建一個對象

console.log(data["json"]); 

[{"value":"23","label":"Assorted Juices"},{"value":"24","label":"Water"},{"value":"25","label":"Beers"},{"value":"26","label":"Carbonated Drinks"},{"value":"27","label":"Instant Beverages "},{"value":"28","label":"Energy Drinks"}] 

我能夠遍歷JSON

var subCategory = data["json"]; 
//console.log(subCategory); 
var obj = $.parseJSON(subCategory); 
$.each(obj, function() { 
$label = this['label']; 
$value = this['value']; 
}); 

我在javascript需要構建對象像下面。我如何調整上述循環來生成這樣的對象。

var data = [ 
    { label: 'Water', value: '24' }, 
    { label: 'Energy Drinks', value: '28' }, 
] 
+1

你可以修改PHP代碼嗎?您的數據已經以您需要的格式存在,您只需要將'id'鍵改爲'value',將'name'改爲'label'。 –

+0

id和name是數據庫字段,請參閱上面的php代碼。 – brainHax

+0

和...爲什麼你不能重命名選擇內的字段? –

回答

0

創建一個對象並將其推送到數組可以完成這項工作。

var subCategory = data["json"]; 
//console.log(subCategory); 
var obj = $.parseJSON(subCategory); 
var data3 = []; 
var counter = 0; 
$.each(obj, function() { 

$label = this['label']; 
$value = this['value']; 
var obj2 = { 
     label: $label, 
     value: $value 
    }; 
    data3.push(obj2); 
});