难以从谷歌日历json feed解析数据
我正在尝试从我的谷歌日历打印事件名称,活动时间和日历链接。 似乎无法弄清楚我做错了什么
首先感谢社区为我提供了一个坚实的方向。 我正确地获取了事件名称。 但事件开始时间和链接显示未定义。
我的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 += ''; event += ''+ data.feed.entry[i].gd$when.startTime+""; event += ''+ data.feed.entry[i].title.$t + ""; event += ''+ data.feed.entry[i].link.href + ""; event += ''; }); $('#output').html(event); });
这是我的小提琴http://jsfiddle.net/sghoush1/HEZaK/12/
你需要做点什么
$.getJSON(gclaData,function(data){ $.each(data.feed.entry, function(i, entry){ event += ''; event += ''+ entry.gd$when[0].startTime+""; event += ''+ entry.title.$t + ""; event += ''+ entry.link[0].href + ""; event += ''; }); $('#output').html(event); });
几个指针
- .each()将对象的引用作为回调的第二个参数传递,因此不需要使用索引来获取属性
-
gd$when
property是一个数组时,你可能需要访问第一个元素 - 同样的
link
属性也
演示: 小提琴