我有路径存储在MySQL数据库中。 实施例
dir1/dir2/img1.jpg
当我运行此功能时
$stmt = $this->con->prepare("SELECT path FROM walls WHERE category = ?");
$stmt->bind_param("s", $cat);
$stmt->execute();
$stmt->bind_result($path);
while($stmt->fetch()) {
$url[] = $path;
}
echo json_encode($url);
它返回,
[[],"dir1\/dir2\/img1.jpg"]
在正斜杠之前,不知道为什么反斜杠会加起来。
答案 0 :(得分:2)
JSON
会转义所有特殊字符。解码后,您将获得原始值dir1/dir2/img1.jpg
您可以使用JSON_UNESCAPED_SLASHES
来跳过转义斜杠,自PHP 5.4.0起可用
echo json_encode($url, JSON_UNESCAPED_SLASHES);
答案 1 :(得分:2)
问题在于您的json_encode
代码,为此目的使用以下代码,
json_encode($url,JSON_UNESCAPED_SLASHES);
答案 2 :(得分:1)
您可以使用
{{1}}
这不会转义目录路径中的斜杠。