试图获得非对象卷曲问题的属性

时间:2011-02-17 15:15:13

标签: php

我有一个卷曲设置,如下所示,以访问json对象

$ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, "http://sitename.com");

 curl_setopt($ch, CURLOPT_HEADER, 0);

 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

 curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

 curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookiefilename.txt');


 curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host:sitename.com'));

 $output = curl_exec($ch);

 curl_close($ch);
 $output = json_decode($output);
 echo $output->property;

curl_setopt($ch, CURLOPT_URL, "http://sitename.com"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookiefilename.txt'); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host:sitename.com')); $output = curl_exec($ch); curl_close($ch); $output = json_decode($output); echo $output->property;

我收到错误'试图访问非对象的属性'。

2 个答案:

答案 0 :(得分:1)

您尝试访问对象的属性的唯一时间是:

echo $output->property;

所以做var_dump($output)以查看上一行之前和之后发生的事情:

var_dump($output)
$output = json_decode($output);
var_dump($output)

答案 1 :(得分:0)

你还没有说过你尝试或研究过的内容。

最可能的事情似乎是网站没有返回有效的JSON,因此json_decode正在返回NULL

或者,也许返回的是有效的JSON,但不是对象(例如,truefalse,尽管在顶层,JSON包应始终是对象或数组)。