Что ж, я пытаюсь использовать json_decode, чтобы получить имя для пользователя с помощью идентификатора Steam, однако я получаю сообщение об ошибке, и я прочитал проблемы других пользователей, и я не приблизился к их исправлению.
Вот мой код:
$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’] и получить ожидаемые результаты.
Но если вы хотите работать с объектами, вы можете просто 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;