我有一個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