我在GET请求中发送此字符串
{"foo":[{"bo1":"*","bob":"*"}]}
但是以PHP格式获取
{\"foo\":[{\"bo1\":\"*\",\"bob\":"\*\"}]}
如何将{"foo":[{"bo1":"*","bob":"*"}]}
作为查询字符串的一部分发送(或者如何通过GET方法将其发送到正确的位置)? (注意:我无法清理它,因为我无法控制服务器端。)
答案 0 :(得分:1)
禁用magic_quotes:已弃用。如果不能,您可以始终在输入上使用stripslashes:
$goodStr = stripslashes($_GET['badStr']);
答案 1 :(得分:0)
您的php配置已启用 magic_quotes_gpc ,这会导致所有_GET,_POST和_COOKIE超全局中的引号和双引号自动转义。
如果您不需要,请将其关闭。如果你这样做,那么你应该重写依赖于这种行为的代码,因为它是折旧的,并且将在未来的php版本中删除。
如果可能的话,你应该在php.ini中解决它。
无论如何,如果你出于某些原因无法关闭,只需使用 stripslashes($ your_json);
答案 2 :(得分:0)
如果服务器在Apache上运行,请在站点根目录中创建名为.htaccess的文件(前导句点是文件名的一部分)。将以下代码放在文件中:
php_flag magic_quotes_gpc Off
否则,您每次都需要使用stripslashes()。