javascript - 使用 JavaScript 解析此 JSON 数据

标签 javascript php jquery json youtube

我们有一个可用的 PHP 函数,可以使用 YouTube API v3 获取特定的 YouTube 视频信息。

我们正在尝试使用 JavaScript (jQuery) 来完成同样的事情。问题是,使用我们的 PHP 函数会导致页面在检索数据时加载非常缓慢。我们希望使用 JavaScript 能够让我们的页面在 YouTube 发出数据请求之前(或期间)加载。

首先,这是我们一个视频的示例网址(您需要 API key 才能自行查看返回的信息):

https://www.googleapis.com/youtube/v3/videos?part=statistics&id=ce5KbCTfHoA&key={YOUR_API_KEY}

该特定网址将返回以下信息:

{
 "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信息,并返回了视频的喜欢(likeCount)和不喜欢(dislikeCount)。

我们想使用 JavaScript (jQuery) 来完成此操作。谁能帮我解决这个问题吗?

我真的很感谢任何帮助或正确方向的插入。

谢谢

最佳答案

$.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'];
});

这应该有效。使用 jQuery 文档。

关于javascript - 使用 JavaScript 解析此 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32597545/

相关文章:

javascript - 确定页面在 github 页面上已过时

javascript - 单击而不是转到链接/页面,在 div 中打开页面

php - 拉维尔 4.2 : How to use whereIn() and with() to get a list of items in a one-to-many relationship?

php - Laravel:使用在 WAMP 中创建的数据库

javascript - 处理非 200/301/302 响应的表单插件

javascript - 如何 Jest 模拟 react-native-camera?

javascript - Angular 服务预期 1-2

php mysql 表单不插入数据

javascript - 用单击的按钮填充文本区域

jquery - Bootstrap Carousel 只加载一张图片