javascript - 使用 json 解析谷歌日历数据

标签 javascript jquery google-calendar-api

这个问题困扰了我一段时间。我正在尝试使用 getJSON 从我的谷歌日历提要中获取事件标题,并最终使用 JSONparse 回调对其进行解析。不幸的是我不能让它工作。我到处都遇到了一堆解决方案,但实际上不是我想要的。如果我使用 google js api,我可以让它工作,但我尝试使用纯 jquery。

这是我的

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

$.getJSON(gclaData,function(data){
        for(var i=0; i<=data.length; i++){
            eventName += JSON.parse(data[i].entry.title.$t)+"<br>";
        }
        $('#outputTitle').append(eventName);
    });

});
</script>
<div id="outputTitle"></div>

这是我的 fiddle

最佳答案

我不明白你在做什么,首先 for 是错误的,因为它没有任何长度的数据对象,提要字段是一个数组,所以你应该这样做:

data.feed.entry[i].title.$t

其次,$t 值是一个字符串,因此您不能将它传递给 JSON.Parse,或者您可以传递它但它毫无值(value)。

也许您正在寻找的最终代码:

var eventName = '';
var gclaData = 'https://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){
  for(var i = 0; i < data.feed.entry.length; i++){
     eventName += data.feed.entry[i].title.$t+"</br>";
  }
  $('#outputTitle').append(eventName);
});

关于javascript - 使用 json 解析谷歌日历数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17504708/

相关文章:

javascript - queryselector 必须是对象 mongodb

javascript - 我是否可以让父 Gruntfile.js 与子 Gruntfile.js 交互或运行任务?

javascript - jquery ajax post 列表将 '[]' 附加到 django 中的 querydict

javascript - 打开日期选择器的超链接

javascript - 为什么我在执行更新请求后总是收到 "Duplicate Alert"错误?

javascript - 从数据库中将 Iframe 注入(inject) Angular 2

javascript - 如何使用 jQuery 增加索引值

php - 带有 PHP 的谷歌日历 API

java - 使用 API 和服务帐户创建的新日历不可见

calendar - 最标准的日历交换数据格式