1

可能重复:
如何在 PHP 中解码 JSON 字符串?

我想'name'从 json 字符串中提取变量$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 但无法使其正常工作,此后我删除了该代码,因此无法在此处编写。谢谢你的帮助。

4

5 回答 5

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;
于 2012-05-21T17:40:49.873 回答
1

尝试:

<?php
  $foo = json_decode( $jsonstring);
  $name = $foo->name; 
  //echo $name;
?>
于 2012-05-21T17:44:12.467 回答
1

尝试这个

$json_obj = json_decode($jsonstring );
echo $json_obj->name; 
于 2012-05-21T17:44:12.777 回答
0
<?php
    $json = '{"foo-bar": 12345}';

    $obj = json_decode($json);
    print $obj->{'foo-bar'}; // 12345
?>
于 2012-05-21T17:40:21.360 回答
0

如果您的 php 版本中没有“json_decode”,您应该使用正则表达式。

<?php

$name = json_decode( $jsonstring )->name;

?>
于 2012-05-21T17:43:28.533 回答