我正在尝试获取twitch电视的Json解码字符串的正确性
$hue = file_get_contents('https://api.twitch.tv/kraken/streams/?channel=starladder1');
$hue = json_decode($hue);
print_r($hue->display_name);
但它不起作用尝试了几乎所有的东西请帮助
尝试以下代码:
<?php
$hue = file_get_contents('https://api.twitch.tv/kraken/streams/?channel=starladder1');
$hue1 = json_decode($hue, TRUE);
foreach ($hue1 as $data)
{
foreach ($data as $datas) {
echo ($datas['channel']['display_name']."<br/>");
}
}
?>
它不起作用的原因是,您试图在不分析对象结构的情况下直接访问"display_name"。
试试这个:
print_r($hue->streams[0]->channel->display_name);
您可以看到流以"["开头,这意味着它的元素像数组一样被访问
你的对象看起来确实是这样的,这有助于你更好地理解结构:
{
"streams":[{
"_id":10954982848,
"game":"Dota 2",
"viewers":11918,
"_links":{
"self":"https://api.twitch.tv/kraken/streams/starladder1"
},
"preview":{
"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_starladder1-80x50.jpg",
"medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_starladder1-320x200.jpg",
"large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_starladder1-640x400.jpg",
"template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_starladder1-{width}x{height}.jpg"
},
"channel":{
"_links":{
"self":"http://api.twitch.tv/kraken/channels/starladder1",
"follows":"http://api.twitch.tv/kraken/channels/starladder1/follows",
"commercial":"http://api.twitch.tv/kraken/channels/starladder1/commercial",
"stream_key":"http://api.twitch.tv/kraken/channels/starladder1/stream_key",
"chat":"http://api.twitch.tv/kraken/chat/starladder1",
"features":"http://api.twitch.tv/kraken/channels/starladder1/features",
"subscriptions":"http://api.twitch.tv/kraken/channels/starladder1/subscriptions",
"editors":"http://api.twitch.tv/kraken/channels/starladder1/editors",
"videos":"http://api.twitch.tv/kraken/channels/starladder1/videos",
"teams":"http://api.twitch.tv/kraken/channels/starladder1/teams"
},
"background":null,
"banner":null,
"display_name":"starladder1",
"game":"Dota 2",
"logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/starladder1-profile_image-557367f831a49ebb-300x300.png",
"mature":false,
"status":"NewBee vs LGD-Gaming 1:0 @ WEC Lan-Finals Day 2 by v1lat",
"url":"http://www.twitch.tv/starladder1",
"video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/starladder1-channel_offline_image-c29311bb34830472-640x360.png",
"_id":28633177,
"name":"starladder1",
"created_at":"2012-03-01T18:05:14Z",
"updated_at":"2014-09-06T06:59:23Z",
"abuse_reported":null,
"delay":0,
"followers":118574,
"profile_banner":null,
"profile_banner_background_color":null,
"views":186419614,"language":"en"
}
}],
"_total":1,
"_links":{
"self":"https://api.twitch.tv/kraken/streams?channel=starladder1&limit=25&offset=0",
"next":"https://api.twitch.tv/kraken/streams?channel=starladder1&limit=25&offset=25",
"featured":"https://api.twitch.tv/kraken/streams/featured",
"summary":"https://api.twitch.tv/kraken/streams/summary",
"followed":"https://api.twitch.tv/kraken/streams/followed"
}
}
以下是您的代码:
$hue = json_decode(file_get_contents('https://api.twitch.tv/kraken/channels/starladder1'));
echo "Name :" .$hue->display_name;
你只是做了错误的url来获取