2012-12-19 50 views
1

我有获取和解析JSON数组中的数据的代码。它应该为每个数组条目执行它,但它只是为第一个数组执行。jQuery。每个维度向下钻取

$.ajax({ 
    url: url, 
    dataType: 'json', 
    success: function(data){ 
     $.each(data, function (key, value){ 
      var mlsnum = value[1]; 
      var address = value[5] + ' ' + value[6] + ' ' + value[7]; 
      var city = value[9]; 
      var state = value[10]; 
      var zip = value[11]; 
      var county = value[12]; 
      var price = value[13]; 
      var sqft = value[17]; 
      var yrblt = value[22]; 
      var bdrms = value[14]; 
      var baths = value[15]; 
      $('#test').html(
       '<div class="listing_single">' + 
        '<div class="listing_img"><a href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' + mlsnum + '"><img class="imgt" src="http://www.universaldynamicmedia.com/sandbox/Images/' + mlsnum + '/HQPhoto-' + mlsnum + '-1.jpeg" /></a></div>' + 
        '<div class="listing_data">' + 
        '<div class="listing_single_address "><a class="address_link" href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' + mlsnum + '">' + address + '</a></div>' + 
        '<div class="listing_single_city">' + city + ', ' + state + ' ' + zip + '</div>' + 
        '<div class="listing_single_data_spec"><span class="listing_single_price">' + price + '</span>|<span class="data_small">SqFt: ' + sqft + '</span>|<span class="data_small">Year Built: ' + yrblt + '</span>|<span class="data_small"> Bedrooms: ' + bdrms + '</span>|<span class="data_small"> Baths: ' + baths + '</span></div>' + 
        '</div>' + 
       '<div class="clear"></div></div>' 
      ); 
     }); 
    }, 
    error: function(){ 
     alert('There was an error loading your request. <br />Please try again later.'); 
    } 
}); 

阵列被在三维空间结构...

{ "0" : [ 
    { "0" : [ 
     { "0" : "data1", "1" : "data2"}]} 
    { "1" : [ 
     { "0" : "data1", "1" : "data2"}]} 
]} 

我的数字这只是为.each第一维项,为此仅存在一个拉数据。我想我需要钻取.each函数进入第二维,但我不知道该怎么做。

+0

请问您是否还要添加json数据呢? – hsuk

+0

你真的不应该将每个对象作为一个数组来传输。这是一个维护噩梦。 – jgauffin

+0

如果我知道这意味着什么,我可能会同意你的意见。 :/这是一个从mySQL查询返回的数组,然后使用PHP编码JSON。我不觉得我对返回的方式有很大的控制力。 –

回答

0

你可以只嵌套jquery每个语句?如果我理解正确:

$.each(data, function(key, value) { 

     $.each(value[key], function(key2, value2) { 

      $.each(value2[key2], function(key3, value3){ 

       // etc. 

      }); 

     }); 

    }); 
+0

它仍然只显示一个条目。这就像它没有通过第二个维度运行,它解析了第一个数据,但它从第三个数据中提取数据。 –

+0

我觉得它需要'data.something'才能进入JSON数组的下一层。在'.each'函数中。我无法弄清楚什么。 –

+0

如果你的数据是一个由其他数组填充的数组,那么我的代码应该工作..如果你在第一个每个语句中记录数值,它打印的是什么? –