我使用图形api将我的脸书应用用户的个人资料图片显示为指定的宽度和高度。
网址: '$的userid'?http://graph.facebook.com/ /图象宽度= 180安培;高度= 220
这会在json中返回一些内容 { “数据”:{ “url”:“https://fbcdn-profile-a.akamaihd.net/hprofile-ak-frc1/c0.0.553.676/s320x320/998591_136374463234627_573810314_n.jpg”, “宽度”:262, “身高”:320, “is_silhouette”:false } }
我想知道如何在php中解码,最适合如何在返回的json字符串中获取'url'。谢谢你的帮助。 注意:我将url存储在php中的变量中,然后使用url来imagecreatefromjpeg(GD库),然后使用该图像并将其与另一个图像合并。
答案 0 :(得分:4)
使用json_decode函数(http://php.net/manual/en/function.json-decode.php)
它接受json字符串作为参数并返回数组或对象
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
$obj = json_decode($json);
$array = json_decode($json, true);
然后,访问
之类的值echo $obj->a;
echo $array['a'];
两者都会输出
1
在您的情况下,您可以通过这种方式访问网址
$obj = json_decode($your_fb_result);
echo $obj->data->url;
OR
$array = json_decode($your_fb_result, true);
echo $array['data']['url'];
具体到您的情况,
$response = file_get_contents('http://graph.facebook.com/'.$userid.'/picture?width=180&height=220&redirect=false');
$array = json_decode($response, true);
echo $array['data']['url'];