我想从json字符串'name'
中提取变量$jsonstring
;
<?php
$facebookid = $_GET['fbid'];
$facebooklink = 'http://graph.facebook.com/'.$facebookid.'?fields=name';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $facebooklink);
curl_setopt($ch, CURLOPT_HEADER, 0);
$jsonstring = curl_exec($ch);
curl_close($ch);
?>
$jsonstring
会输出如下内容:
{
"name": "THIS PART IS WHAT I WANT",
"id": "4"
}
我想从上面的例子中提取'这部分是我想要的'。
我已经尝试过使用json_decode但无法使其工作,我已经删除了该代码,因此无法在此处编写。谢谢你的帮助。
答案 0 :(得分:3)
试
ob_start();
$facebookid = $_GET['fbid'];
$facebooklink = 'http://graph.facebook.com/'.$facebookid.'?fields=name';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $facebooklink);
curl_setopt($ch, CURLOPT_HEADER, 0);
$jsonstring = curl_exec($ch);
curl_close($ch);
$bufferstr = ob_get_contents();
ob_end_clean();
$json = json_decode($bufferstr);
echo $json->name;
答案 1 :(得分:1)
尝试:
<?php
$foo = json_decode( $jsonstring);
$name = $foo->name;
//echo $name;
?>
答案 2 :(得分:1)
试试这个
$json_obj = json_decode($jsonstring );
echo $json_obj->name;
答案 3 :(得分:0)
<?php
$json = '{"foo-bar": 12345}';
$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345
?>
答案 4 :(得分:0)
如果你的php版本中没有“json_decode”,你应该使用正则表达式。
<?php
$name = json_decode( $jsonstring )->name;
?>