JSONから指定の要素を取得する方法がよくわらかないので教えて頂きたいです。
具体的には下記のHTMLとajaxを使い、#title
にJSONのtitle要素を出力したいと考えています。
html
1<p>title</p> 2<div id="title"></div> 3<hr> 4<p>all</p> 5<div id="all"></div> 6 7<script> 8function yt(){ 9var API_KEY = 'xxx'; 10var video_id = "6QNxsnfIP4E"; 11var url = 'https://www.googleapis.com/youtube/v3/videos?id='+video_id+'&part=snippet,contentDetails,statistics,status&key=' + API_KEY; 12$.ajax({ 13 type: 'GET', 14 url: url, 15 dataType: 'json', 16 success: function(data){ 17 18 // JSONの全てを出力→できた 19 var all = JSON.stringify(data,null, " "); 20 $("#all").append(all); 21 22 // JSONのtitleを出力→できない 23 var title = all[1].snippet[2]; // ここで「【RIZIN2018】那須川天心VSメイウェザー(日本語実況)」を取得しているつもり 24 $("#title").append(title); 25 26 } 27}); 28} 29yt(); 30</script>
現状では上記HTMLの#all
に下記JSONが出力されまして、この中で出力したいtitle要素とは、16行目の「【RIZIN2018】那須川天心VSメイウェザー(日本語実況)」です。これを、上記HTMLの#title
に出力したいというのが目的です。
json
1{ 2 "kind": "youtube#videoListResponse", 3 "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/hhLVcZqdXMpUJ4VNRvNIK4ksjhE\"", 4 "pageInfo": { 5 "totalResults": 1, 6 "resultsPerPage": 1 7 }, 8 "items": [ 9 { 10 "kind": "youtube#video", 11 "etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/DyMLz_rApqVo62Sd3TgO_JQ7AR4\"", 12 "id": "6QNxsnfIP4E", 13 "snippet": { 14 "publishedAt": "2018-12-31T14:49:46.000Z", 15 "channelId": "UCWk7Qqskj-_uWJqhNMlRVuQ", 16 "title": "【RIZIN2018】那須川天心VSメイウェザー(日本語実況)", 17 "description": "", 18 "thumbnails": { 19 "default": { 20 "url": "https://i.ytimg.com/vi/6QNxsnfIP4E/default.jpg", 21 "width": 120, 22 "height": 90 23 }, 24 "medium": { 25 "url": "https://i.ytimg.com/vi/6QNxsnfIP4E/mqdefault.jpg", 26 "width": 320, 27 "height": 180 28 }, 29 "high": { 30 "url": "https://i.ytimg.com/vi/6QNxsnfIP4E/hqdefault.jpg", 31 "width": 480, 32 "height": 360 33 } 34 }, 35 "channelTitle": "さまど.", 36 "categoryId": "20", 37 "liveBroadcastContent": "none", 38 "localized": { 39 "title": "【RIZIN2018】那須川天心VSメイウェザー(日本語実況)", 40 "description": "" 41 } 42 }, 43 "contentDetails": { 44 "duration": "PT3M2S", 45 "dimension": "2d", 46 "definition": "hd", 47 "caption": "false", 48 "licensedContent": false, 49 "projection": "rectangular" 50 }, 51 "status": { 52 "uploadStatus": "processed", 53 "privacyStatus": "public", 54 "license": "youtube", 55 "embeddable": true, 56 "publicStatsViewable": true 57 }, 58 "statistics": { 59 "viewCount": "1077124", 60 "likeCount": "2635", 61 "dislikeCount": "509", 62 "favoriteCount": "0", 63 "commentCount": "4092" 64 } 65 } 66 ] 67}
宜しくお願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/02 10:06
2019/01/02 10:20
2019/01/02 10:49 編集
2019/01/02 10:41
2019/01/02 10:49