Я продолжаю получать эту ошибку, когда я разбираю фишку советника. Попытка поднять имя пользователя.
Обрезаемая фатальная ошибка: объект класса stdClass не может быть преобразован в строку
Здесь мой код со ссылкой на канал.
<?php
function getCode($url)
{
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
$html=getCode("http://api.tripadvisor.com/api/partner/1.0/location/258705/reviews");
$json = json_decode($html);
$cnt=0;
foreach ($json as $item)
{
foreach($item as $row)
{
echo "Image Url:".$row->text."<br>";
echo "ID:".$row->id."<br>";
//username
foreach($row->user as $row1)
{
echo $row1."<br>";
}
}
echo "<br><br>";
}
?>
print_r($row1);
stdClass Object ( [id] => [name] => Mahwah )
Попробуйте изменить
$row1."<br>";
в
$row1->name."<br>";
Вам нужно установить атрибут assoc true в функции json_decode.
Попробуй это:
$json = json_decode($html,true);
Узнайте больше о json_decode здесь
Также как предложение для вашего следующего, не используйте ключи API или другую конфиденциальную информацию.
echo
), вы получите эту ошибку, поскольку строковому контексту нужны строки для вывода (которые могут быть объектными, но только те, которые реализуют_toString()
что не относится кstdClass
.