简体   繁体   English

如何从返回json数组的ajax调用构建javascript数组?

[英]How do I build a javascript array from an ajax call that returns a json array?

I am making an ajax call that returns some json data. 我正在进行ajax调用,返回一些json数据。 I need to take this data, loop through it and build a new javascript array. 我需要获取这些数据,循环遍历并构建一个新的javascript数组。

This is what the returned json looks like: 这是返回的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"
    }
    ]

} }

How do I loop through this data in javascript? 如何在javascript中循环浏览这些数据? This is what I have so far but it is very wrong! 这是我到目前为止所拥有的,但这是非常错误的! - apologies my javascript is not my strongest skill! -抱歉,我的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);

假设为JSON提供了正确的Content-Type( application/json ),则jQuery将自动解析JSON并使用结果填充回调函数的第一个参数。

var arrProducts = data.products;

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

jQuery.parseJSON("json string")

Using jQuery's getJSON 使用jQuery的getJSON

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

  $.getJSON(url, function(data){
   // Your code goes here
  });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM