我正在使用ajax将一个JSON字符串(从facebook api正确收到)发送给PHP。当我尝试解析JSON字符串时,它会在字符串中添加额外的字符,当我尝试从字符串中获取值时,我什么也得不到。
这是从facebook返回的json:
{"id":"redacted","email":"redacted","first_name":"redacted","gender":"female","last_name":"redacted","link":"redacted","locale":"en_US","name":"redacted","timezone":-6,"updated_time":"2014-12-17T23:10:00+0000","verified":true}
这是ajax:
$.ajax({
type: "POST",
url: "signupfacebookajax.php",
data: { theresponse: JSON.stringify(response) },
success: function(crap){ console.log(crap)}
});
});
这是php页面signupfacebookajax.php上的代码:
$response = $_POST['theresponse'];
$jsondecode = json_decode($response);
$facebook_id = $jsondecode->id;
echo $facebook_id;
注意完全退回。在排除故障时我注意到解码后JSON字符串看起来很奇怪。这是我在通过ajax传递后解码字符串后得到的结果。
{\"id\":\"redacted\",\"email\":\"redacted\",\"first_name\":\"redacted\",\"gender\":\"female\",\"last_name\":\"redacted\",\"link\":\"redacted\",\"locale\":\"en_US\",\"name\":\"redacted\",\"timezone\":-6,\"updated_time\":\"2014-12-17T23:10:00+0000\",\"verified\":true}
答案 0 :(得分:0)
你试过禁用魔法引号吗???看起来你的php.ini有
magic_quotes_gpc = On
要禁用它,只需将On替换为Off
magic_quotes_gpc = Off