Well, I am trying to use json_decode to get a users twitch name via their steam ID, however I am getting an error, and I have read other users issues and I am no closer to fixing it.
Here is my code:
$getcontents = file_get_contents('http://api.twitch.tv/api/steam/76561198049928469');
var_dump(json_decode($getcontents));
$twitchname = $getcontents ['name'];
echo $twitchname;
Here is my error:
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
I have looked at documentation on the dev forums on twitch and I cannot find a way to fix this.
I have also looked at answers on these forums and I cannot find a way to fix this.
Forgot this; vardump output:
object(stdClass)#2 (2) { ["_id"]=> int(59956494) ["name"]=> string(10) "riggster98" }
So the way it works with json_decode is, if you intend to use it like a normal php variable, then you have to pass the true flag into the json_decode function. Then you can use $content['name'] and get the expected results.
But if you want to work with Objects, you can simply just json_decode the content, and then use $content->name to extract the content.
Like this
$getcontents = file_get_contents('http://api.twitch.tv/api/steam/76561198049928469');
$contents = json_decode($getcontents);
echo "<pre>";
print_r($contents->name);
echo "</pre>";
This fixes the issues of not saving the JSON decoded content and passing the parameter to return an array instead of an object:
$getcontents = file_get_contents('http://api.twitch.tv/api/steam/76561198049928469');
$getcontents = json_decode($getcontents, true);
$twitchname = $getcontents['name'];
echo $twitchname;