0

Jsonデータセットを取得していて、「arrProducts」というJavaScript配列を作成する必要があります。以下の私のコードは間違っていますが、正しい行にあります。誰か助けてもらえますか?

var allProducts = $.get("http://localhost:8888/web/app_dev.php/api/v1/search/search.json",
function(data) {
    var productsArray = data.products;
    var arrProducts = '';
    $.each(productsArray, function(index, product) {
        arrProducts['name'] = product.name;                        
        arrProducts['title'] = product.title;
        arrProducts['price'] = product.price;           
    });     
});
4

4 に答える 4

1

これはあなたが望むことをするはずです:

var allProducts = $.get("http://localhost:8888/web/app_dev.php/api/v1/search/search.json",
function(data) {
    var productsArray = data.products;
    var arrProducts = productsArray;
});

productsArrayはすでに構築しようとしている形式になっているため、実際にはdata.products直接使用する必要があります。

var allProducts = $.get("http://localhost:8888/web/app_dev.php/api/v1/search/search.json",
function(data) {
    console.log(data.products);
});
于 2012-10-29T14:38:10.317 に答える
1
    var allProducts = $.get("http://localhost:8888/web/app_dev.php/api/v1/search/search.json",
function(data) {
    var productsArray = data.products;
    var arrProducts = []; //This needs to be an array not a string.
    $.each(productsArray, function(index, product) {
        var prod = {};//make a new product for each iteration
        prod['name'] = product.name;                        
        prod['title'] = product.title;
        prod['price'] = product.price;    
        arrProducts.push(prod); //add the product to thearray of products       
    });     
});

Kevin Bが指摘しているように、data.productsはすでに目的の形式のオブジェクトの配列であるように見えるため、この「変換」は無意味に思えます。

于 2012-10-29T14:41:05.993 に答える
0

次のコードを使用して配列を作成する必要があります。

var arrProducts = [];

あなたのコードの残りはあなたの目的を果たします

しかし、コメントが述べているように、これは各反復で上書きされる3つの要素の連想配列を作成します。あなたはあなたの構造を再考する必要があります:multidimensioanl配列?オブジェクトの配列?

于 2012-10-29T14:36:56.857 に答える
0

これはどう ?

var arr;
var allProducts = $.getJSON("http://localhost:8888/web/app_dev.php/api/v1/search/search.json",
function(data) {
    arr = jQuery.makeArray(data);
});

ノート :

getJSONメソッドを使用して、コールバックで使用できる既に解析されたオブジェクトを作成する必要があります。makeArrayメソッドについてはhttp://api.jquery.com/jQuery.makeArray/

于 2012-10-29T14:41:37.097 に答える