我有一个JS函数,通过使用JSON.stringify通过GET将json字符串传递给PHP脚本。json_decode在本地主机但不在web服务器上工作
在我的本地主机上,JSON在PHP端的解码很好,但是一旦我将它移动到我的web服务器,它就停止工作。进一步的分析表明,我的网络服务器正在向JSON字符串中添加\
(斜线),并且根据JSONLint.com,带斜线的字符串是无效的JSON。
在我的网络服务器的JSON表示像这样:
{\"Product\":\"Walnut Pastry\",\"Size\":\"Slice\",\"Quantity\":\"2\",\"Price\":0}
这为什么会发生在我的网络服务器,我能做些什么来逃避字符串? 我试过json_decode(str_replace('/','',$_GET['json']),true);
,但那也行不通
“/”与“\”不同,或者只是使用反斜杠。 http://php.net/manual/en/function.stripslashes.php – xdazz
这是一个不好的建议。在服务器上使用魔术引号执行的相同代码将产生不良影响。 – Pauly