我一直试图访问" videoID"以下数组中的JSON对象:
{
"kind": "youtube#searchListResponse",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/652q8gXfNeBDSoSQrv8VCrAv0Ho\"",
"nextPageToken": "CAUQAA",
"regionCode": "AU",
"pageInfo": {
"totalResults": 25,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/31YuvB6enDzigibEfdgUq4-ZYc0\"",
"id": {
"kind": "youtube#video",
"videoId": "Ldx1nwBd4AY"
},
"snippet": {
"publishedAt": "2017-04-14T21:00:00.000Z",
"channelId": "UC-z95jtL6-oDyFueQPoZLfQ",
"title": "HOW TO PLAY NINTENDO DS GAMES ON iPHONE iOS 10 FOR FREE (NDS4iOS) - NDS4IOS Tutorial - Tech Scout",
"description": "LIKE THE VIDEO + TURN ON CHANNEL NOTIFICATIONS! HOW TO PLAY NINTENDO DS GAMES ON iPHONE iOS 10 FOR FREE (NDS4iOS) - NDS4IOS ...",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/Ldx1nwBd4AY/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/Ldx1nwBd4AY/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/Ldx1nwBd4AY/hqdefault.jpg",
"width": 480,
"height": 360
}
},
"channelTitle": "Tech Scout",
"liveBroadcastContent": "none"
}
},
它继续从那里开始,但我一直试图访问" videoID"使用以下代码对象:
$youtubeurl = "https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=" . $channelid . "&key=" . $api;
$youtubeinfo = file_get_contents($youtubeurl);
$youtubeencoded = json_decode($youtubeinfo, true);
$youtubevideoid = $youtubeencoded["data"]["items"][0]["videoID"];
echo $youtubevideoid;
我没有太多使用JSON的经验所以我只是从Stack Overflow上的另一个问题获得了第4行(我认为是问题)的代码。
答案 0 :(得分:3)
您的JSON中没有节点data
。您还错过了节点id
。此外,它是videoId
而不是videoID
:
$youtubevideoid = $youtubeencoded["items"][0]["id"]["videoId"];
答案 1 :(得分:1)
尝试
$youtubevideoid = $youtubeencoded["items"][0]["id"]["videoId"];
P.S。更新
答案 2 :(得分:0)
你的json文件是错误的。就像那样
{
"kind": "youtube#searchListResponse",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/652q8gXfNeBDSoSQrv8VCrAv0Ho\"",
"nextPageToken": "CAUQAA",
"regionCode": "AU",
"pageInfo": {
"totalResults": 25,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#searchResult",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/31YuvB6enDzigibEfdgUq4-ZYc0\"",
"id": {
"kind": "youtube#video",
"videoId": "Ldx1nwBd4AY"
},
"snippet": {
"publishedAt": "2017-04-14T21:00:00.000Z",
"channelId": "UC-z95jtL6-oDyFueQPoZLfQ",
"title": "HOW TO PLAY NINTENDO DS GAMES ON iPHONE iOS 10 FOR FREE (NDS4iOS) - NDS4IOS Tutorial - Tech Scout",
"description": "LIKE THE VIDEO + TURN ON CHANNEL NOTIFICATIONS! HOW TO PLAY NINTENDO DS GAMES ON iPHONE iOS 10 FOR FREE (NDS4iOS) - NDS4IOS ...",
"thumbnails": {
"url": "https://i.ytimg.com/vi/Ldx1nwBd4AY/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/Ldx1nwBd4AY/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/Ldx1nwBd4AY/hqdefault.jpg",
"width": 480,
"height": 360
}
},
"channelTitle": "Tech Scout",
"liveBroadcastContent": "none"
}
]
}
然后你可以使用这段代码
$data = json_decode($youtubejson,true);
echo $data["kind"];