从PHP图形api资源管理器中解码json字符串

时间:2013-07-19 10:42:05

标签: php json facebook-graph-api gd

我使用图形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库),然后使用该图像并将其与另一个图像合并。

1 个答案:

答案 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'];

请参阅http://php.net/manual/en/function.file-get-contents.php