JSON文字列があります:私はもともとPHPの配列から構築され、json_encodeを使用して変換されますJSONオブジェクトを持っているビルjavascript配列が、null値
var json = $.parseJSON(response);
var items = new Array();
$.each(json, function(index, value){
items[index] = value.id;
});
console.log(items);
// returns [ , , , , , , , , , , , , , , , , , , , 19, 20 ]
:(レスポンス)
{"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のコードを。オブジェクトをループすると、値の一部に基づいて新しい配列を作成すると、すべての最初の項目としてnullがあり、最後の2つは実際のIDを持ちます。
私が間違っていることは何ですか?
「19」と「20」という名前のプロパティを持つオブジェクトを構築しています。 '['と ']'を使って配列を作成します。 – nybbler
JSONはPHP配列から変換されますが、JSONは配列ではないオブジェクトです。配列を期待している場合は、PHPを修正する必要があります。そのオブジェクトからのjavascriptにIDの配列が必要な場合は、$。eachのitems.push(value.id)を使用します。 – Dampsquid