在PHP中解析json返回空白

在PHP中解析json返回空白,php,ajax,json,facebook,Php,Ajax,Json,Facebook,我正在使用ajax向PHP发送一个JSON字符串(从facebook api正确接收)。当我尝试解析JSON字符串时,它会向字符串中添加额外的字符,当我尝试从字符串中获取值时,我什么也得不到 以下是从facebook返回的json: {"id":"redacted","email":"redacted","first_name":"redacted","gender":"female","last_name":"redacted","link":"redacted","locale":"en_U

我正在使用ajax向PHP发送一个JSON字符串(从facebook api正确接收)。当我尝试解析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}

你试过禁用魔法报价吗???看起来您的php.ini

magic_quotes_gpc = On
更多阅读

要禁用它,只需将“开”替换为“关”

magic_quotes_gpc = Off

输出是$response还是$jsondecode?$response是ajax发送的字符串,$jsondecode正在解码该字符串$facebook_id是json字符串解码后的id,不显示任何内容。我不知道它是如何进行的,也不知道它在哪里进行的。我能够毫无疑问地解码:来自Facebook的回复和带有所有\的回复。