我是 JavaScript 和 YouTube API 初学者
我正在尝试从 xml 文件中访问一些数据。它是从 YouTube 播放列表生成的 atom 文件。我希望能够提取列表中每个视频的缩略图、videoid 和描述。
这是我拼凑在一起的一些js:
$.get("playlist.xml", function(xml){
var videos = $.xml2json(xml);
alert(videos.entry[0].title);
console.log(videos);
});
playlist.xml 包含通过调用生成的文件:
https://gdata.youtube.com/feeds/api/playlists/playlistid?v=2
其中 playlistid 是有效的播放列表 ID。
该文件包含所有预期的 xml,并使用以下行转换为 json(通过 JQuery XML 到 JSON 插件):
var videos = $.xml2json(xml);
顶部的代码给了我预期的输出,即:播放列表中第一个视频的标题。
当我尝试访问其他数据时,我的问题就出现了。例如,缩略图可以在此处的 xml 中找到:
entry[].media:group.media:thumbnail[]
似乎在转换为 json 后,“:”被转换为“$”,但是当我尝试以下任一方法时出现错误错误:
$.get("playlist.xml", function(xml){
var videos = $.xml2json(xml);
alert(videos.entry[0].media:group.media:thumbnail[0]);
console.log(videos);
});
或者:
$.get("playlist.xml", function(xml){
var videos = $.xml2json(xml);
alert(videos.entry[0].media$group.media$thumbnail[0]);
console.log(videos);
});
错误是:
TypeError: videos.entry[0].media$group is undefined
我觉得我不了解一些非常基本的东西,但对于我的生活,我不知道它是什么。
这是一个示例播放列表 xml 文件,如果有帮助的话: https ://gdata.youtube.com/feeds/api/playlists/PLjyIfAzy9xVUWYcLK54OPd1lDXzMROK_5?v=2