0

json データを返す ajax 呼び出しを行っています。このデータを取得してループし、新しい JavaScript 配列を作成する必要があります。

返された json は次のようになります。

{
    query: [ ],
    products: 
[
    
{
    title: "title 1",
    price: "6.00",
    magazine: "magazine name 1",
    image: "/p/c/pc_90_cover.jpg",
    type: "Magazine",
    market: "Technology",
    zinio: "http:www.zinio.com",
    newsstand: "http://www.link1.php"
    },

    
{
    title: "title 2",
    price: "6.00",
    magazine: "magazine name 2",
    image: "/p/c/pc_90_cover.jpg",
    type: "Magazine",
    market: "Technology",
    zinio: "http:www.zinio.com",
    newsstand: "http://www.link2.php"
    },

    
{
    title: "title 3",
    price: "6.00",
    magazine: "magazine name 3",
    image: "/p/c/pc_90_cover.jpg",
    type: "Magazine",
    market: "Technology",
    zinio: "http:www.zinio.com",
    newsstand: "http://www.link3.php"
    }
    ]

}

javascriptでこのデータをループするにはどうすればよいですか? これは私がこれまでに持っているものですが、それは非常に間違っています! - 申し訳ありませんが、私の JavaScript は私の最強のスキルではありません!

                    var allProducts = $.get("http://localhost:8888/imagine-publishing/web/app_dev.php/api/v1/search/search.json?query=pho", function(data) {


                    var arrProducts = [
                        for (var product in allProducts) {

                            title  = product.title,
                            url = product.url, 
                            label = product.title, 
                            magazine = product.magazine,
                            image = product.imageThumb,
                            newsstand = product.newsstand,
                            googleplay = product.googleplay,
                            kindle = product.kindle, 
                            barnesnoble = product.barnesnoble,
                            zinio = product.zinio, 
                            kobo = product.kobo, 
                            waterstones = product.waterstones, 
                            type = product.type, 
                            brandurl = product.brandurl 

                            },

                     ];

                });

                console.log(arrProducts);
4

3 に答える 3

4

JSONが正しいContent-Type(application/json)で提供されると仮定すると、jQueryは自動的にJSONを解析し、コールバック関数の最初の引数に結果を入力します。

var arrProducts = data.products;
于 2012-10-26T11:55:35.590 に答える
1

http://api.jquery.com/jQuery.parseJSON/

jQuery.parseJSON("json string")

于 2012-10-26T11:55:07.540 に答える
0

jQuery の getJSON を使用する

http://api.jquery.com/jQuery.getJSON/

  $.getJSON(url, function(data){
   // Your code goes here
  });
于 2012-10-26T11:58:52.247 に答える