2012-09-01 86 views
0

對不起,我確定這裏有重複的內容,但我對jQuery真的很陌生。我有以下JSON字符串...使用jQuery循環瀏覽JSON

{ 
    "totalNumEntries":2, 
    "pageType":"CampaignPage", 
    "totalBudget":{ 
     "period":{ 
     "value":"DAILY" 
     }, 
     "amount":{ 
     "comparableValueType":"Money", 
     "microAmount":0 
     }, 
     "deliveryMethod":null 
    }, 
    "entries":[ 
     { 
     "id":733413, 
     "name":"Interplanetary Cruise #1345659006301", 
     "status":null, 
     "servingStatus":null, 
     "startDate":null, 
     "endDate":null, 
     "budget":null, 
     "biddingStrategy":null, 
     "conversionOptimizerEligibility":null, 
     "campaignStats":{ 
      "startDate":null, 
      "endDate":null, 
      "network":{ 
       "value":"ALL" 
      }, 
      "clicks":null, 
      "impressions":null, 
      "cost":null, 
      "averagePosition":null, 
      "averageCpc":null, 
      "averageCpm":null, 
      "ctr":null, 
      "conversions":null, 
      "viewThroughConversions":null, 
      "statsType":"CampaignStats" 
     }, 
     "adServingOptimizationStatus":null, 
     "frequencyCap":{ 
      "impressions":0, 
      "timeUnit":null, 
      "level":null 
     }, 
     "settings":null, 
     "networkSetting":null, 
     "forwardCompatibilityMap":null 
     }, 
     { 
     "id":733414, 
     "name":"Interplanetary Cruise banner #1345659006387", 
     "status":null, 
     "servingStatus":null, 
     "startDate":null, 
     "endDate":null, 
     "budget":null, 
     "biddingStrategy":null, 
     "conversionOptimizerEligibility":null, 
     "campaignStats":{ 
      "startDate":null, 
      "endDate":null, 
      "network":{ 
       "value":"ALL" 
      }, 
      "clicks":null, 
      "impressions":null, 
      "cost":null, 
      "averagePosition":null, 
      "averageCpc":null, 
      "averageCpm":null, 
      "ctr":null, 
      "conversions":null, 
      "viewThroughConversions":null, 
      "statsType":"CampaignStats" 
     }, 
     "adServingOptimizationStatus":null, 
     "frequencyCap":{ 
      "impressions":0, 
      "timeUnit":null, 
      "level":null 
     }, 
     "settings":null, 
     "networkSetting":null, 
     "forwardCompatibilityMap":null 
     } 
    ] 
} 

這是從我的應用程序中的/ google/getCampaigns返回。我用以下代碼循環播放它,但頁面保持空白...

<script> 
$(document).ready(function() { 
    $.getJSON('google/getCampaigns', function(data) { 
     $.each(data.entries, function(index) { 
      $('span').append(index.name); 
     }); 
    }); 
}); 

</script> 
Loading... 
<span /> 

任何人都可以看到我在做什麼錯了嗎?

感謝,

大衛

+0

嘗試增加'警報()''s到各個地方進行調試。 (例如,在getJSON函數內部,爲了檢查你是否得到了正確的json,然後在'each'函數內部檢查它是否迭代/循環,然後檢查該索引是否是json對象等)。這樣你就知道它是運行你期望的代碼。 – ronalchn

+0

請參閱Chrome中的'console.log'並會看到錯誤 –

回答

7

每個語句應該是這樣的:

$.each(data.entries, function(index,element) { 
    $('span').append(element.name); 
}); 

或另一種方法是

$.each(data.entries, function(index) { 
    $('span').append(data.entries[index].name); 
}); 

希望這將解決您的問題。

+0

完美,謝謝 – david99world

1

什麼是路過別的甚至沒有索引的需要,這將幫助你肯定

$.each(data.entries, function() { 
     $('span').append(this.name); 
});