代码之家  ›  专栏  ›  技术社区  ›  Saul

为什么jqueryjson解析器需要对反斜杠进行双重转义?

  •  15
  • Saul  · 技术社区  · 14 年前

    情况如下:我有一个包含窗口的字符串( 叹息 )目录路径,反斜杠转义。出于某种原因,jqueryjson解析器认为单次转义是不够的。

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
    
    var success = jQuery.parseJSON('{"a":"b:\\\\c"}');
    var failure = jQuery.parseJSON('{"a":"b:\\c"}');
    
    </script>
    

    1 回复  |  直到 14 年前
        1
  •  32
  •   SLaks    14 年前

    第一个转义在Javascript字符串文本中转义它。
    第二个转义在JSON字符串文本中转义它。

    Javascript表达式 '{"a":"b:\\c"}' '{"a":"b:\c"}' .
    \ ,必须为JSON转义。为了得到一个包含 \\ \ 必须在Javascript表达式中转义,从而导致 "\\\\" .