json_decode for twitch api


json_decode for twitch api

好吧,我正试图使用json_decode通过用户的steam ID获取用户抽搐名称,但我遇到了一个错误,我已经阅读了其他用户的问题,我还没有接近修复它。

这是我的代码:

$getcontents = file_get_contents('http://api.twitch.tv/api/steam/76561198049928469');
var_dump(json_decode($getcontents));
$twitchname = $getcontents ['name'];
echo $twitchname;

这是我的错误:

Warning: Illegal string offset 'name' in C:'Program Files (x86)'EasyPHP-DevServer-14.1VC11'data'localweb'projects'Portfolio -- Website'forum'index.php on line 29

我看了twitch上开发论坛上的文档,找不到解决这个问题的方法。

我也看过这些论坛上的答案,但我找不到解决这个问题的方法。

忘记了这一点;vardump输出:

object(stdClass)#2 (2) { ["_id"]=> int(59956494) ["name"]=> string(10) "riggster98" } 

因此,它与json_decode的工作方式是,如果您打算像使用普通php变量一样使用它,那么您必须将true标志传递到json_decode函数中。然后您可以使用$content['name']并获得预期的结果。

但是,如果您想使用Objects,您可以简单地对内容进行json_decode,然后使用$content->name来提取内容。

像这个

    $getcontents = file_get_contents('http://api.twitch.tv/api/steam/76561198049928469');
    $contents = json_decode($getcontents);
    echo "<pre>";
    print_r($contents->name);
    echo "</pre>";

这修复了不保存JSON解码内容和传递参数以返回数组而不是对象的问题:

$getcontents = file_get_contents('http://api.twitch.tv/api/steam/76561198049928469');
$getcontents = json_decode($getcontents, true);
$twitchname = $getcontents['name'];
echo $twitchname;