2013-07-08 60 views
1

我想從我的谷歌日曆打印事件名稱,事件時間和鏈接到日曆。不能似乎弄清楚我做錯了什麼從谷歌日曆json飼料解析數據的困難

首先感謝社會給我一個堅實的方向在這一個。我正確地獲取事件名稱。但事件開始時間和鏈接顯示爲未定義。

我jQuery和HTML看起來像這樣

var event = ''; 

var gclaData = 'http://www.google.com/calendar/feeds/somugus%40gmail.com/public/full?orderby=starttime&sortorder=ascending&max-results=3&futureevents=true&alt=json'; 

$.getJSON(gclaData,function(data){ 
    $.each(data.feed.entry, function(i){ 
    event += '<div class="eventHolder">'; 
    event += '<div class="eventTime">'+ data.feed.entry[i].gd$when.startTime+"</div>"; 
    event += '<div class="eventName">'+ data.feed.entry[i].title.$t + "</div>"; 
    event += '<div class="eLink">'+ data.feed.entry[i].link.href + "</div>"; 
    event += '</div>'; 
    }); 
    $('#output').html(event); 
}); 

這裏是我的小提琴 http://jsfiddle.net/sghoush1/HEZaK/12/

回答

0

你需要做的是這樣

$.getJSON(gclaData,function(data){ 
    $.each(data.feed.entry, function(i, entry){ 
     event += '<div class="eventHolder">'; 
     event += '<div class="eventTime">'+ entry.gd$when[0].startTime+"</div>"; 
     event += '<div class="eventName">'+ entry.title.$t + "</div>"; 
     event += '<div class="eLink">'+ entry.link[0].href + "</div>"; 
     event += '</div>'; 
    }); 
    $('#output').html(event); 
}); 

幾個指針

  1. 。每()通過參考對象作爲第二個參數的回調,所以沒有必要使用索引來獲取屬性
  2. gd$when屬性是一個數組,所以你可能需要訪問第一個元素
  3. 相同link屬性還

演示的:Fiddle

+0

@ Arun--驚人。你從字面上解決了我的問題:-) ..謝謝 – soum