JSON字符串化和使用\

时间:2018-04-09 17:18:51

标签: javascript

assert(JSON.stringify(searchForMatches(searchData,['cats']))==='["catcode.io","catgifs.co"]',"The result should be '[\"catcode.io\",\"catgifs.co\"]'");

为什么我需要多次使用\?否则会抛出错误。它是否特定于JSON.stringify和/或何时/如何在将来的实例中使用它?

2 个答案:

答案 0 :(得分:1)

反斜杠是一个在字符串中用于转义特殊字符的JavaScript运算符。 在你的情况下,它是逃避报价。见这个例子:

// in this case it escapes the " symbol because that would end the string.
var x = "\""; 

这与:

相同
// in this case you don't need to escape it because 
//   the string begins with the apostrophe instead of the " character
var x = '"'; 

在两种情况下 console.log(x); 都会打印单引号字符。

答案 1 :(得分:1)

\是一个转义运算符。它阻止语言将下一个char解析为语法相关,因此如果没有它,则在第一个"开始字符串之后,您的字符串会在下一个"停止。