好吧,我正试图使用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;