【问题标题】:Parsing this JSON data with JavaScript用 JavaScript 解析这个 JSON 数据
【发布时间】:2015-12-12 09:18:07
【问题描述】:

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

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

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

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) 来实现。谁能帮我解决这个问题?

我非常感谢任何帮助或朝着正确方向前进。

谢谢

【问题讨论】:

  • 使用AJAX从服务器获取然后传递给客户端。
  • 所以我理解 ajax 是一种很棒的方法。然而,在尝试让 ajax 工作几天后,我放弃了。如果您至少可以为我发布一个sn-p,那将有很大帮助。感谢您的反馈!
  • 通读您链接的教程。感谢您提供额外的信息。

标签: javascript php jquery json youtube


【解决方案1】:
$.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 文档。

【讨论】:

  • 太好了,我会试试这个,让你知道它是怎么回事。谢谢,丹特斯。
  • 你不能仅仅这样做。将其解析为对象,然后才能执行此操作。
  • 所以我正在使用这个例子,它没有返回任何东西。奥尔德林,你能给我一个关于如何将其解析为对象并显示结果的例子吗?请原谅我对这个主题的无知,我还有很多东西要学。谢谢
  • 使用$.parseJSON($yourDataHere);
  • 这实际上不需要 $.parseJSON() 函数就可以工作。谢谢大家,这真的很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-02
  • 1970-01-01
  • 1970-01-01
  • 2013-04-29
  • 2017-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多