<?php
$handle = fopen("https://graph.facebook.com/search?q=sinanoezcan@hotmail.com&type=user&access_token=2227472222|2.mLWDqcUsekDYK_FQQXYnHw__.3600.1279803900-100001310000000|YxS1eGhjx2rpNYzzzzzzzLrfb5hMc.", "rb");
$json = stream_get_contents($handle);
fclose($handle);
echo $json;
$obj = json_decode($json);
print $obj->{'id'};
?>
这是JSON:{"data":[{"name":"Sinan \u00d6zcan","id":"610914868"}]}
它回应了JSON,但我无法打印id。
我也试过了:
<?php
$obj = json_decode($json);
$obj = $obj->{'data'};
print $obj->{'id'};
?>
答案 0 :(得分:4)
请注意,JSON中有一个数组。
{
"data": [ // <--
{
"name": "Sinan \u00d6zcan",
"id": "610914868"
}
] // <--
}
您可以尝试$obj = $obj->{'data'}[0]
获取该数组中的第一个元素。
答案 1 :(得分:3)
看起来键"data"
是一个对象数组,所以这应该有效:
$obj = json_decode($json);
echo $obj->data[0]->name;
答案 2 :(得分:3)
data
是一个数组,所以它应该是:
print $obj[0]->{'id'};
答案 3 :(得分:2)
您是否尝试过 $obj->data
或$obj->id
?
更新:其他人已注意到它应为$obj->data[0]->id
,依此类推。
PS您可能不希望在SO ...等公共网站上包含您的私人Facebook访问令牌。
答案 4 :(得分:1)
当你从中得到一个关联数组时,它会比这复杂一点:
$json = json_decode('{"data":[{"name":"Sinan \u00d6zcan","id":"610914868"}]}', true);
然后你可以回复id:
var_dump($json['data'][0]['id']);
没有assoc,它必须是:
var_dump($json->data[0]->id);