Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php和facebook api中解码json_Php_Json_Facebook - Fatal编程技术网

在php和facebook api中解码json

在php和facebook api中解码json,php,json,facebook,Php,Json,Facebook,我对json有点陌生。下面是我从facebook oauth得到的回复。在php中,我无法找到将数据转换为变量/对象的正确方法 { "data":{"app_id":xxxxxxxxxx, "is_valid":true, "application":"Opensource Education Dot in", "user_id":xxxxxxxxxx, "issued_at":1389448259,

我对json有点陌生。下面是我从facebook oauth得到的回复。在php中,我无法找到将数据转换为变量/对象的正确方法

{
   "data":{"app_id":xxxxxxxxxx,
           "is_valid":true,
           "application":"Opensource Education Dot in",
           "user_id":xxxxxxxxxx,
           "issued_at":1389448259,
           "expires_at":1394632259,
           "scopes":["basic_info","email","public_profile","user_friends"]
          }

}  
这就是我被困的地方。不知道如何得到每个响应。而且我只得到这个作为回应。但范围内的确切值(如电子邮件、基本信息等)如何获取

$userdata=json_decode($response);
使用

对于长用户标识问题,您可以使用下面的-

$userdata= = json_decode(preg_replace('/"uid":(\d+)/', '"uid":"$1"', $response),true);
也可以用作

$userdata=  json_decode($response, true, 512, JSON_BIGINT_AS_STRING)
它会给你一个数组

此外,您还可以检查螺纹的更多变化


您好,应用程序id和用户id太长,因此以指数形式显示。我如何解决这个问题?我现在已经更新了答案检查。。您可以将preg__替换中的uid替换为您的uid,我认为在您的情况下它的用户id。在我有两个长数据之前,您可以在这里检查我回答的类似长用户id问题。应用程序id和用户id。所以用户id工作正常。但上述格式不接受4个参数。那么app_id呢?然后使用json_解码($response,true,512,json_BIGINT_作为_字符串);这将把所有大整数转换为字符串。让我更新答案。
$userdata=  json_decode($response, true, 512, JSON_BIGINT_AS_STRING)