json_decode - api的问题

时间:2015-04-10 15:28:15

标签: php api

我试图通过使用api找到有人在抽搐的游戏。我已经设置了json_decode,它显示了api的所有内容。但是每当我尝试print_r游戏时,我都会收到错误。

错误:

Notice: Undefined property: stdClass::$game in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Portfolio -- Website\twitchstreaminfo\streaminfo.php on line31

PHP代码:

$streamer = $_POST['username'];
$apiurl = "https://api.twitch.tv/kraken/streams/" . $streamer;
$apicontent = file_get_contents($apiurl);
$streamerinfo = json_decode($apicontent);
print_r($streamerinfo->game);

2 个答案:

答案 0 :(得分:0)

首先尝试执行以下操作并验证结果:

print_r( $streamerinfo );

通过API我可以看到以下内容:

print_r( $streamerinfo->stream->game );

答案 1 :(得分:0)

你的错误在于说" $ game"在对象" $ streamerinfo"上不存在。如上所述,尝试引用" $ streamerinfo"改变它是有效的。您可以采取的另一项措施是添加以下内容:

if (isset($streamerinfo->game) {
     print_r($streamerinfo->game);
}

该代码将阻止此错误,但不能解决问题。我建议这是帮助您解决问题的最终解决方案

   if (isset($streamerinfo->game) {
     print_r($streamerinfo->game);
   } else {
     print_r($streamerinfo);
   }

这将使您的代码不会像现在这样破坏。但是,它还将打印" $ streamerinfo"如果失败了通过这种方式,您可以了解失败的原因。