0

我有一个这样的 JSON:

    var parse = [
   {
      "variation_id":"34",
      "attributes":{
         "attribute_pa_rozmiar":"m"
      },
      "image_src":"http://localhost/Fraise-WP/wp-content/uploads/2013/06/Jellyfish-300x300.jpg",
      "image_link":"http://localhost/Fraise-WP/wp-content/uploads/2013/06/Jellyfish.jpg",
      "image_title":"Jellyfish",
      "price_html":"",
      "availability_html":"<p class=\"stock \">10 w magazynie</p>",
      "sku":"",
      "weight":"4 kg",
      "dimensions":"",
      "min_qty":1,
      "max_qty":"10",
      "backorders_allowed":false,
      "is_in_stock":true,
      "is_downloadable":false,
      "is_virtual":false,
      "is_sold_individually":"no"
   },
   {
      "variation_id":"33",
      "attributes":{
         "attribute_pa_rozmiar":"s"
      },
      "image_src":"http://localhost/Fraise-WP/wp-content/uploads/2013/06/Desert-300x300.jpg",
      "image_link":"http://localhost/Fraise-WP/wp-content/uploads/2013/06/Desert.jpg",
      "image_title":"Desert",
      "price_html":"",
      "availability_html":"<p class=\"stock \">5 w magazynie</p>",
      "sku":"",
      "weight":"4 kg",
      "dimensions":"",
      "min_qty":1,
      "max_qty":"5",
      "backorders_allowed":false,
      "is_in_stock":true,
      "is_downloadable":false,
      "is_virtual":false,
      "is_sold_individually":"no"
   }
][
   {
      "variation_id":"34",
      "attributes":{
         "attribute_pa_rozmiar":"m"
      },
      "image_src":"http://localhost/Fraise-WP/wp-content/uploads/2013/06/Jellyfish-300x300.jpg",
      "image_link":"http://localhost/Fraise-WP/wp-content/uploads/2013/06/Jellyfish.jpg",
      "image_title":"Jellyfish",
      "price_html":"",
      "availability_html":"<p class=\"stock \">10 w magazynie</p>",
      "sku":"",
      "weight":"4 kg",
      "dimensions":"",
      "min_qty":1,
      "max_qty":"10",
      "backorders_allowed":false,
      "is_in_stock":true,
      "is_downloadable":false,
      "is_virtual":false,
      "is_sold_individually":"no"
   },
   {
      "variation_id":"33",
      "attributes":{
         "attribute_pa_rozmiar":"s"
      },
      "image_src":"http://localhost/Fraise-WP/wp-content/uploads/2013/06/Desert-300x300.jpg",
      "image_link":"http://localhost/Fraise-WP/wp-content/uploads/2013/06/Desert.jpg",
      "image_title":"Desert",
      "price_html":"",
      "availability_html":"<p class=\"stock \">5 w magazynie</p>",
      "sku":"",
      "weight":"4 kg",
      "dimensions":"",
      "min_qty":1,
      "max_qty":"5",
      "backorders_allowed":false,
      "is_in_stock":true,
      "is_downloadable":false,
      "is_virtual":false,
      "is_sold_individually":"no"
   }
]

我需要的是在里面运行搜索attributes,查找这个对象是否有,例如。attribute_pa_rozmiar=m并得到相应image_src的 . 抱歉,JSON 如此臃肿,但这是我能把它弄出来的唯一方法。

4

2 回答 2

0

我尝试根据找到的示例运行 $.each 和 $.map 函数,但没有一个起作用。

请尝试$.grep

var filtered = $.grep(parse, function(item) {
    return item.attributes.attribute_pa_rozmiar == "m";
});
var images = $.map(filtered, function(item) {
    return item.image_src;
});
于 2013-07-01T12:52:42.053 回答
0

试试这个..它正在使用 $.each 并且工作正常

      $.each(parse, function(i, item) {
          $.each(item, function(j, innerItem){
           // perform search on innerItem.a or innerItem.b
          });
      });

更新:

首先根据您的新更新,您的 JSON 无效。你有额外的 ][ 在变量数据的中间。我创建了另一个 JSFiddle 来解决您的问题。查看工作演示:

http://jsfiddle.net/vendettamit/kjzPC/

PS - 当您必须发布这种长代码时,您可以使用在线格式化程序然后发布它。:)

于 2013-07-01T12:56:07.883 回答