PHP前端开发

为什么我的 MySQL 数据转换为 JSON 后斜杠变成了反斜杠?

百变鹏仔 2天前 #PHP
文章标签 斜杠

json 编码后斜杠异常的问题解答

在从 mysql 读取数据并将其转换为 json 时,您发现产生的 json 中反斜杠 "/" 全部变成了 "/"。这一异常的出现源自 json 中的转义字符规则,在 json 中,"" 被用作转义字符,表示下一个字符具有特殊含义。

在您的代码中,$row['image'] 值包含一个图片地址,如 "http://www.baidu.com/a.jpg"。当 json_encode 将此值编码为 json 时,它遇到了 "/" 这个转义字符,并将其自动转义为 "/",以符合 json 规范。

为了解决这一异常,您需要在 json_encode 之前,使用 str_replace() 函数将 "" 替换为 "/"。修改后的代码如下:

$array = str_replace("\/", "/", json_encode($arr));

这样,在将数据编码为 json 之前,斜杠将被正确替换,确保在 json 中不会出现 "/" 异常。