如何使用PHP在Json url中获取数据

时间:2015-04-19 14:10:39

标签: php json

所以我有一个输出如下的URL:

{
 "kind": "youtube#channelListResponse",
 "etag": "\"IHLB7Mi__JPvvG2zLQWAg8l36UU/cElfTza4UGHG8g6mYtCKSIOXxq0\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 5
 },
 "items": [
  {
   "kind": "youtube#channel",
   "etag": "\"IHLB7Mi__JPvvG2zLQWAg8l36UU/EGw-f95GMJ7EnCAhVPMzL1JSykQ\"",
   "id": "UCxAICW_LdkfFYwTqTHHE0vg",
   "statistics": {
    "viewCount": "107418936",
    "commentCount": "295",
    "subscriberCount": "428265",
    "hiddenSubscriberCount": false,
    "videoCount": "2270"
   }
  }
 ]
}

我使用此函数获取kind

function test() {

    $url = "https://www.googleapis.com/youtube/v3/channels?part=statistics&forUsername=youtube&key={key}";
    $json = file_get_contents($url);
    $json_data = json_decode($json, true);
    echo $json_data["kind"];

}

但我的问题是我需要获取其他数据,包括viewCount,但我找不到它的功能..

原谅我,我刚刚开始学习Json,因为我不得不弃用YouTube API v 2而且我不得不切换到依赖于Json的v 3.0 ..

非常感谢您协助初学者!

2 个答案:

答案 0 :(得分:2)

它将返回数组和对象的混合格式。

你可以得到这样的观看次数。

echo $json_data->items[0]->statistics;
echo $json_data->items[0]->statistics->viewCount;

答案 1 :(得分:2)

以简单的方式

echo $json_data["items"][0]['statistics']["viewCount"]; //107418936
echo $json_data["items"][0]['statistics']["commentCount"];// 259