@newdancer

Как правильно распарсить json с youtube?

Как правильно распарсить json с youtube? Youtube возвращает мне такой результат:
{
 "kind": "youtube#searchListResponse",
 "etag": "\"5g01s4-wS2b4VpScndqCYc5Y-8k/jHXo5V2uAwW_-Uhg3vfYZbOFz-w\"",
 "nextPageToken": "CAEQAA",
 "regionCode": "UA",
 "pageInfo": {
  "totalResults": 3492,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#searchResult",
   "etag": "\"5g01s4-wS2b4VpScndqCYc5Y-8k/F5nUecrRmG9NbJlEsQxs2ygvuhE\"",
   "id": {
    "kind": "youtube#video",
    "videoId": "Xq-Hq7lpZGo"
   },
   "snippet": {
    "publishedAt": "2012-08-01T14:30:47.000Z",
    "channelId": "UCsFbXtoqQwXW85_nYXAiBzA",
    "title": "007: Координаты Скайфолл. Русский трейлер, 2012 (HD)",
    "description": "Подпишись на канал русских трейлеров http://goo.gl/hXRG7 На MI6 совершено нападение и Джеймсу Бонду предстоит найти...",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/Xq-Hq7lpZGo/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/Xq-Hq7lpZGo/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/Xq-Hq7lpZGo/hqdefault.jpg",
      "width": 480,
      "height": 360
     }
    },
    "channelTitle": "Новые трейлеры",
    "liveBroadcastContent": "none"
   }
  }
 ]
}

Собственно из блока item нужно id видео videoId. ВОт код php:
$lYou = fopen($linkYoutube, 'r');
	$jsonYou = stream_get_contents($lYou);
	$resYou = json_decode($jsonYou, true);
	var_dump($resYou);

В итоге var_dump($resYou); выдает NULL. Что не так?
  • Вопрос задан
  • 636 просмотров
Пригласить эксперта
Ответы на вопрос 2
@IceJOKER
Web/Android developer
Попробуйте так:
$json = file_get_contents($youtube_link);
if(empty($json)){
  die('Something went wrong...=(');
}
$data = json_decode($json, true);
var_dump($data);
Ответ написан
@assets
Back-end developer
$file = file_get_contents('film.json');

$content = json_decode($file,true);

	foreach($content['items'] as $item)
	{
	    var_dump($item['id']['videoId']);   
	}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы