2014-05-25 9 views
0

Я продолжаю получать эту ошибку, когда я разбираю фишку советника поездки. Попытка поднять имя пользователя.Json parsing error

Catchable фатальная ошибка: Объект класса 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>"; 
} 

?>

+0

До тех пор, как вы выразить StdClass в контексте строки (например, 'echo'), вы получите эту ошибку в контекст строки нуждается строки для вывода (это может быть объект, но только те, которые реализуют '_toString()', что не относится к 'stdClass'. – hakre

ответ

0

Вы должны установить атрибут ассоциативной истину о функции json_decode.

Попробуйте это:

$json = json_decode($html,true); 

Подробнее о json_decode here


Кроме того, как предложение для вашего следующего переполнения стека пост, не разделяют ключи API или другую конфиденциальную информацию.

+0

Нет необходимости устанавливать это в этом случае. – hakre

+0

Только что реализовано что теперь, моя точка зрения о том, что он не делится партнером, только ключ api все еще стоит. haha – viralpickaxe

+0

jup, лучше просто предоставить пример json вместо ключа :) - https://eval.in/156628 – hakre

1
print_r($row1); 
stdClass Object ([id] => [name] => Mahwah) 

Попробуйте изменить

$row1."<br>"; 

в

$row1->name."<br>"; 
+0

Это тоже работает для меня. – bloodyKnuckles

+0

не является именем пользователя. – hakre

+0

Не работает для меня. Теперь я получаю это сообщение об ошибке «Примечание: попытка получить свойство не-объекта» – user3335117