JSON字符串:(響應)構建JavaScript陣列,但具有空值
{"19":{"id":"19","name":"Product","sku":123,"price":"59.50","cost":"25.00"},"20":{"id":"20","name":"Test","sku":456,"price":"50.00","cost":"40.00"}}
JavaScript代碼:
var json = $.parseJSON(response);
var items = new Array();
$.each(json, function(index, value){
items[index] = value.id;
});
console.log(items);
// returns [ , , , , , , , , , , , , , , , , , , , 19, 20 ]
我的影片最初是從一個PHP數組建立和使用json_encode轉換JSON對象。當我遍歷對象 - 根據某些值構建一個新數組時,它與所有第一項一樣爲null,然後最後兩個具有實際的id。
任何想法我做錯了什麼?
您正在構建一個名爲'19'和'20'的屬性。使用'['和']'創建一個數組。 – nybbler 2012-03-15 18:34:05
你說JSON是從一個PHP數組轉換來的,但是JSON是一個不是數組的對象。如果你期望一個數組,你需要修復PHP。如果你想在該對象的javascript中使用ID數組,可以在$ .each中使用items.push(value.id)。 – Dampsquid 2012-03-15 18:42:25