有没有办法禁用它?
是的,您只需要使用JSON_UNESCAPED_SLASHES
标志。
!important之前阅读:https ://stackoverflow.com/a/10210367/367456 (知道你在处理什么 - 了解你的敌人)
json_encode($str, JSON_UNESCAPED_SLASHES);
如果您手头没有 PHP 5.4,请选择众多现有函数之一并根据您的需要对其进行修改,例如http://snippets.dzone.com/posts/show/7487(存档副本)。
示例演示
<?php
/*
* Escaping the reverse-solidus character ("/", slash) is optional in JSON.
*
* This can be controlled with the JSON_UNESCAPED_SLASHES flag constant in PHP.
*
* @link http://stackoverflow.com/a/10210433/367456
*/
$url = 'http://www.example.com/';
echo json_encode($url), "\n";
echo json_encode($url, JSON_UNESCAPED_SLASHES), "\n";
示例输出:
"http:\/\/www.example.com\/"
"http://www.example.com/"