Php 尝试从codebird API结果解析JSON时出错
我正在尝试让一个人的推特通过 这是我的代码:Php 尝试从codebird API结果解析JSON时出错,php,twitter,Php,Twitter,我正在尝试让一个人的推特通过 这是我的代码: <?php require_once('src/codebird.php'); \Codebird\Codebird::setConsumerKey('Consumer Key', 'Consumer Secret'); $cb = \Codebird\Codebird::getInstance(); $cb->setToken('Oauth Key', 'Oauth Secret'); $params = arra
<?php
require_once('src/codebird.php');
\Codebird\Codebird::setConsumerKey('Consumer Key', 'Consumer Secret');
$cb = \Codebird\Codebird::getInstance();
$cb->setToken('Oauth Key', 'Oauth Secret');
$params = array(
'screen_name' => 'WWE',
'count' => 2
);
$reply = $cb->statuses_userTimeline($params);
json_decode($reply);
$main = $reply[0]->text;
echo '<pre>';
var_dump($reply);
echo '</pre>';
但是json_decode$reply返回警告:json_decode期望参数1为字符串,对象为给定值
任何帮助都将不胜感激。。。
谢谢CheersStatus\u userTimeline$params正在返回对象。按原样使用对象。我刚刚阅读了文档和一些Stackoverflow问题,发现我需要将数据类型更改为array并使用它。然后它看起来像:
您不再需要对其进行解码,它不是一个JSON字符串,只需按原样访问对象属性即可。很明显,通过您的示例,$reply不是一个JSON字符串,而是一个ObjectThank!好啊但是当我试图使用这个$main=$reply[0]->text;它显示了致命错误:无法在第14行的C:\xampp\htdocs\twitter\codebird php develop\twitter.php中将stdClass类型的对象用作数组。$main的代码是错误的。objectstdClass35 4{[0]=>objectstdClass2 23{我在那里没有看到数组。只有一个名为0的属性。谢谢!但是当我尝试使用这个$main=$reply[0]->文本;显示致命错误:无法在第14行的C:\xampp\htdocs\twitter\codebird php develope\twitter.php中使用stdClass类型的对象作为数组。是否$main的代码错误。因此,请尝试$main=$reply->0->text;谢谢!但现在它显示解析错误:语法错误,意外的'0'T_LNUMBER,需要标识符T_字符串或变量T_variable或'{'或'$'在C:\xampp\htdocs\twitter\codebird php develop\twitter.php的第14行,我承认我现在在猜,但有时我猜是对的。试试$main=$reply->{0}->text;或者$main=$reply->'0'->text;我在对象表示法方面有点不熟练,但我想应该是这样的。感谢这些提示,但我尝试了这两种方法,并在第14行的C:\xampp\htdocs\twitter\codebird php develop\twitter.php中显示了注意:未定义的属性:stdClass::$0
object(stdClass)#35 (4) {
[0]=>
object(stdClass)#2 (23) {
["created_at"]=>
string(30) "Mon Jan 26 08:30:10 +0000 2015"
["id"]=>
float(5.5962935475884E+17)
["id_str"]=>
string(18) "559629354758844416"
["text"]=>
string(112) "RT @WWENXT: .@WWERomanReigns has just made history by becoming the FIRST #WWENXT alumnus to win the #RoyalRumble"
["source"]=>
string(63) "Hootsuite"
["truncated"]=>
bool(false)
["in_reply_to_status_id"]=>
NULL
..........
<?php
require_once('src/codebird.php');
\Codebird\Codebird::setConsumerKey('Consumer Key', 'Consumer Secret');
$cb = \Codebird\Codebird::getInstance();
$cb->setToken('Oauth Key', 'Oauth Secret');
$params = array(
'screen_name' => 'WWE',
'count' => 2
);
$reply = $cb->statuses_userTimeline($params);
$dat = $data[0];
echo $data[0]->text;