在php和facebook api中解码json
我对json有点陌生。下面是我从facebook oauth得到的回复。在php中,我无法找到将数据转换为变量/对象的正确方法在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,
{
"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)