使用jQuery循环使用JSON

时间:2012-09-01 10:20:38

标签: javascript 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 />

谁能看到我做错了什么?

谢谢,

大卫

2 个答案:

答案 0 :(得分:7)

每个陈述应该是这样的:

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

或其他方法

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

希望这能解决您的问题。

答案 1 :(得分:1)

什么是传递任何其他甚至索引的必要性这将有助于你肯定

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