Php Json解析错误
当我解析trip advisor提要时,不断出现此错误。正在尝试提取用户名 可捕获的致命错误:类stdClass的对象无法转换为字符串 这是我的代码和提要的链接Php Json解析错误,php,html,json,api,Php,Html,Json,Api,当我解析trip advisor提要时,不断出现此错误。正在尝试提取用户名 可捕获的致命错误:类stdClass的对象无法转换为字符串 这是我的代码和提要的链接 <?php function getCode($url) { $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0"); curl_setop
<?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>";
}
您需要在json_decode函数中将assoc属性设置为true
试试这个:
$json = json_decode($html,true);
阅读更多关于json_解码的信息
作为下一篇堆栈溢出文章的建议,不要共享API密钥或其他敏感信息
print_r($row1);
stdClass Object ( [id] => [name] => Mahwah )
试着改变
$row1."<br>";
$row1.“
”;
到
$row1->name.“
”;
只要在字符串上下文中表示stdClass(例如,echo
),就会出现此错误,因为字符串上下文需要输出字符串(可以是对象,但仅限于实现的字符串()
这不是stdClass的情况。在这种情况下,没有必要设置它。刚刚意识到,现在,我关于他不共享仅合作伙伴api密钥的观点仍然有效。哈哈,最好只提供示例性json而不是密钥:)-@hakre至少我从这个xD中获得了一个免费的trip advisor密钥(jk jk)不管怎么说,这是一个测试密钥:p这对我也适用。对我不适用。我现在收到这个错误消息“注意:尝试获取非对象的属性”看-你不能回显对象。熟悉正在使用的数据结构。
$row1->name."<br>";