使用JavaScript解析此JSON数据
我们有一个可用的PHP函数,可以使用YouTube API v3获取特定的YouTube视频信息 我们正试图使用JavaScript(jQuery)做同样的事情。问题是,使用PHP函数会导致页面在检索数据时加载速度非常慢。我们希望使用JavaScript可以在YouTube请求数据之前(或期间)加载页面 首先,这是我们其中一个视频的示例url(您需要API密钥才能自己查看返回的信息): 该特定url将返回以下信息:使用JavaScript解析此JSON数据,javascript,php,jquery,json,youtube,Javascript,Php,Jquery,Json,Youtube,我们有一个可用的PHP函数,可以使用YouTube API v3获取特定的YouTube视频信息 我们正试图使用JavaScript(jQuery)做同样的事情。问题是,使用PHP函数会导致页面在检索数据时加载速度非常慢。我们希望使用JavaScript可以在YouTube请求数据之前(或期间)加载页面 首先,这是我们其中一个视频的示例url(您需要API密钥才能自己查看返回的信息): 该特定url将返回以下信息: { "kind": "youtube#videoListResponse",
{
"kind": "youtube#videoListResponse",
"etag": "\"jOXstHOM20qemPbHbyzf7ztZ7rI/qRFx1vTFF-k7dkRzNB5rGQ-dqiQ\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#video",
"etag": "\"jOXstHOM20qemPbHbyzf7ztZ7rI/2yn7rCfXCu0o-GNVtMEQqYssSpE\"",
"id": "ce5KbCTfHoA",
"statistics": {
"viewCount": "33169",
"likeCount": "281",
"dislikeCount": "3",
"favoriteCount": "0",
"commentCount": "85"
}
}
]
}
我们正在尝试使用JavaScript检索此视频的likeCount和dislikeCount
我们可以通过以下方式使用PHP实现这一点:
function getVideoRatings() {
$JSON = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=statistics&id={VIDEO_ID}&key={YOUR_API_KEY}");
$json_data = json_decode($JSON, true);
$likes = $json_data['items'][0]['statistics']['likeCount'];
$dislikes = $json_data['items'][0]['statistics']['dislikeCount'];
/* some other code... */
}
这将成功解析google返回的json信息,并返回视频的likes(likeCount)和dislikes(dislikeCount)
我们希望使用JavaScript(jQuery)实现这一点。有人能帮我弄清楚吗
我真的很感激任何朝着正确方向的帮助或碰撞
谢谢
这应该行得通。使用jQuery文档。使用AJAX从服务器检索,然后将其传递给客户端。因此,我认为AJAX是一种很棒的方法。然而,在尝试让ajax工作了几天之后,我已经放弃了。如果你能至少为我发一个片段,那将非常有帮助。谢谢你的反馈!阅读您链接的教程。谢谢你提供的额外信息。太好了,我会尝试一下,让你知道它是怎么回事。谢谢你,丹特兹,你不能这么做。在你可以这么做之前把它解析成一个对象。所以我用这个例子,它没有返回任何东西。奥尔德林,你能给我举个例子,说明如何把它解析成一个对象并显示结果吗?请原谅我对这个问题的无知,我还有很多要学的。感谢使用
$.parseJSON($yourDataHere)代码>这实际上不需要$.parseJSON()函数就可以工作。谢谢大家,这真的很有帮助。
function getVideoRatings() {
$JSON = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=statistics&id={VIDEO_ID}&key={YOUR_API_KEY}");
$json_data = json_decode($JSON, true);
$likes = $json_data['items'][0]['statistics']['likeCount'];
$dislikes = $json_data['items'][0]['statistics']['dislikeCount'];
/* some other code... */
}
$.getJSON("https://www.googleapis.com/youtube/v3/videos?part=statistics&id=ce5KbCTfHoA&key={YOUR_API_KEY}", function( data ) {
var likes = data['items'][0]['statistics']['likeCount'];
});