私は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の解析方法を理解するために誰かが良いドキュメントにアドバイスできれば、素晴らしいでしょう:))