为什么jQuery JSON解析器需要对反斜杠进行两次转义?

我很难绕过JSON数据格式的特殊功能。

情况如下:我有一个包含Windows( sigh )目录路径的字符串,反斜杠转义了。由于某种原因,jQuery

JSON解析器认为仅进行一次转义是不够的。

<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>

谁能解释为什么有必要进行这种双重转义?

回答:

第一个转义符将其转义为Javascript字符串文字。

第二个转义以JSON字符串文字形式对其进行转义。

Javascript表达式的'{"a":"b:\\c"}'计算结果为字符串'{"a":"b:\c"}'

此字符串包含单个unscaped

\,对于JSON必须对其进行转义。为了获得包含的字符串\\,每个字符串都\必须在Javascript表达式中转义,结果为"\\\\"

以上是 为什么jQuery JSON解析器需要对反斜杠进行两次转义? 的全部内容, 来源链接: utcz.com/qa/420292.html

回到顶部