json_encode 的 JSON 输出中出现意外的反斜杠
在文件上传后使用 json_encode 返回 JSON 数据时,某些用户遇到了添加输出中不必要的反斜杠。为了深入研究这个问题,让我们分解一下问题:
初始代码片段,它生成有效的 JSON:
print_r($result); echo json_encode($result);
但是,通过 data.toSource() 进一步检查,它是显示正在生成无效的 JSON,并添加了反斜杠和附加信息(例如,状态:200)附加。
问题原因
额外的反斜杠和无关信息可能是由 json_encode 本身之外的进程引入的。假设 Plupload 绑定函数可能以某种方式操纵返回的数据。
解决方案
要解决此问题,建议包含“JSON_UNESCAPED_SLASHES”选项当使用 json_encode 时。此选项在 PHP 5.4 及更高版本中引入,可防止添加不必要的反斜杠。更正后的代码:
json_encode($array, JSON_UNESCAPED_SLASHES);
以上是为什么使用 json_encode 在 JSON 输出中出现意外的反斜杠?的详细内容。更多信息请关注PHP中文网其他相关文章!