我正在做一个 youtube api 调用,我得到一个var result = JSON.stringify(response, '', 2);
看起来像:
{
"kind": "youtube#searchListResponse",
"pageInfo": {
"totalResults": 1000000,
"resultsPerPage": 5
},
"items": [
{
"id": {
"kind": "youtube#video",
"videoId": "DEne4AoX_RU"
},
"kind": "youtube#searchResult",
"snippet": {
"publishedAt": "2012-11-22T22:36:15.000Z",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/DEne4AoX_RU/default.jpg"
},
"medium": {
"url": "https://i.ytimg.com/vi/DEne4AoX_RU/mqdefault.jpg"
},
"high": {
"url": "https://i.ytimg.com/vi/DEne4AoX_RU/hqdefault.jpg"
}
}
}
},
{
"id": {...}
完整的对象响应在我的控制台中正确返回,但我想检索缩略图 url 并将其显示为 li 标记的 html 列表所以我首先尝试在列表中获取所有片段条目:
var obj = $.parseJSON(result);
$.each(obj, function() {
output += this.snippet + + "<br/>";
});
console.log(output);
但是我的控制台中有一条消息:Uncaught TypeError: Cannot read property 'length' of undefined
。我错过了什么?顺便说一句,我不明白为什么在字符串化的 json 中仍然有括号result
(如果有人可以建议一些好的文档来了解如何解析 JSON,那就太好了:))