为什么我的 MySQL 数据转换为 JSON 后斜杠变成了反斜杠?
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));