【问题标题】:difficulty parsing data from google calendar json feed难以从谷歌日历 json 提要中解析数据
【发布时间】:2013-07-08 05:49:40
【问题描述】:

我正在尝试从我的谷歌日历打印活动名称、活动时间和日历链接。似乎无法弄清楚我做错了什么

首先感谢社区在这个问题上给了我一些明确的方向。我得到了正确的事件名称。但活动开始时间和链接显示未定义。

我的 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/

【问题讨论】:

    标签: jquery json google-calendar-api


    【解决方案1】:

    你需要做类似的事情

    $.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. .each() 将对对象的引用作为回调的第二个参数传递,因此无需使用索引来获取属性
    2. gd$when 属性是一个数组,因此您可能需要访问第一个元素
    3. link 属性也相同

    演示:Fiddle

    【讨论】:

    • @Arun——太棒了。你从字面上解决了我的问题:-).. 谢谢
    猜你喜欢
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    相关资源
    最近更新 更多