php接收json格式错误 有反斜线

项目本地测试没有问题,但是上传到服务器后,想后台传json时出错了,json_decode函数解析前台传来的json时报错,非json格式,打印后台的的接收的json格式如下:

{“id”:””}

不管是单引号、双引号 还是 反斜杠都被 反斜杠转义了,在本地测试没问题,但是虚拟主机不行,因为虚拟主机默认开始了 魔术引号(魔术引号自5.4已被废弃),我们可以关闭魔术引号,如果是虚拟主机就要在调用json_decode前判断一下,代码如下:

// 魔术引号,去掉反斜杠
if(ini_get("magic_quotes_gpc") == "1"){  
    $param = stripslashes($param);  
}

然后在对数据进行decode就可以了。

发表评论