为什么JSON提要在为其他变量工作时返回未定义的变量?我做错了什么或忽略了什么?感谢。
答案 0 :(得分:2)
如果你看一下响应中的内容:
curl http://gdata.youtube.com/feeds/users/kaycor/favorites?alt=json-in-script&callback=mycallback
你看到entry.media $ group和entry.yt $ statistics不存在:
gdata.io.handleScriptLoaded({
"feed": {
// snip ...
"entry": [{
// snip ...
"media$group": {
"media$category": [{
// snip ...
}],
"media$title": {
// snip ...
}
}
}]
}
});
修改:并非所有项目都包含media$content
数组,因此您应该将每个块修改为以下内容:
$.each(data.feed.entry, function(i, item){
var uploader = item['author'][0]['name']['$t'];
if (item['media$group']['media$content']) {
var URL = item['media$group']['media$content'][0]['url'];
var thum = item['media$group']['media$thumbnail'][0]['url'];
}
});
我为此编写了一个快速测试脚本,并且使用if子句,它不再抛出错误。