2015-11-06 259 views
0

我已经转换普通文本与json_encode(数据)的JSON,但问题是 正常写入images/data.png转换为images\/data.png我不得不删除这个多余的反斜杠。这怎么可能正斜杠更改为反斜杠和正斜杠

+3

没有必要改变什么。 \ \组合被称为转义,并且非常好。 – jeff

回答

1

在一个JSON字符串中,/\/是等价的。你不应该强制执行前面的语法。

如果你认为你需要改变他们,那么你要么:

  • 设计太多的文本编辑器,而不是JSON解析器
  • 过分地关注单个字节

转义/提供了防止过早脚本终止的防御措施,当您拥有如下代码时:

<?php 
    $data = Array("</script>"); 
?> 
<script> 
    var data = <?php echo json_encode($data); ?>; 
</script> 

也就是说,如果你真的想删除它,PHP为它提供一个选项:

json_encode($data, JSON_UNESCAPED_SLASHES);