屏幕上没有显示,下面这个有效的代码是什么?我知道收到的数据中有一个名为“text”的JSON参数,但不知道如何将其打印出来?
<?php
$url='http://twitter.com/statuses/user_timeline/twostepmedia.json'; //rss link for the twitter timeline
//print_r(get_data($url)); //dumps the content, you can manipulate as you wish to
$obj = json_decode($data);
print $obj->{'text'};
/* gets the data from a URL */
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
答案 0 :(得分:5)
这应该有效:
$obj = json_decode(get_data($url));
$text = $obj[0]->text;
当你遇到像这样的问题时,尝试像var_dump($obj)
这样的东西是个好主意。在这样做之后,它立即变得清晰$obj[0]->text
就是您所追求的目标。
@ benhowdle89评论:
foreach ($obj as $item) {
$text = $item->text;
}
答案 1 :(得分:1)
您应该将get_data返回的值赋给变量并将其传递给json_decode,即:。
<?php
$url='http://twitter.com/statuses/user_timeline/twostepmedia.json'; //rss link for the twitter timeline
//print_r(get_data($url)); //dumps the content, you can manipulate as you wish to
$data = get_data($url);
$obj = json_decode($data);
print $obj->text;
/* gets the data from a URL */
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
答案 2 :(得分:0)
$data
未设置,您不需要花括号。