我想生成字符串" \"在Javascript但似乎无法做到这一点。如果我只写#34; \",我会得到编译时错误,因为"本身就逃脱了。但是,如果我做" \\",我会得到两个斜杠作为输出。那么如何使用单个正斜杠生成字符串?
答案 0 :(得分:1)
字符/
是斜线。字符\
是反斜杠。
反斜杠\
用作JavaScript和JSON中字符串的转义字符。某些字符需要从字符串文字中删除歧义。这个字符串含糊不清:
'He's going to the park'
有三个单引号'
标记,解析器不知道字符串的一部分是什么,不是什么。我们可以使用反斜杠来转义我们想要表示字符'
的字符而不是字符串文字的关闭(也是'
)。
'He\'s going to the park'
现在,如果反斜杠具有特殊含义,我们如何在字符串中表示字面反斜杠\
字符?只需使用反斜杠\
转义反斜杠\
。
'C:\\DOS\\command.com' // In memory this is: C:\DOS\command.com
请记住,此转义仅适用于代码或JSON中字符串的文本表示。代码被解析,内存中的字符串是我们所期望的,所有转义都被解析为正确的字符。
现在你的问题询问JSON并假设这是不正确的:
我正在写' \'作为JSON包的关键。结果类似于
"READY_TO_PRINT_DATE":"/\\Date(1403911292:981000+420)\\/"
。
JSON需要与您在JavaScript中找到的相同的转义,并且出于同样的原因......从字符串中删除歧义。字符串/\\Date(1403911292:981000+420)\\/
的JSON版本是您正确表示实际字符串/\Date(1403911292:981000+420)\/
的方式。
我希望这有助于消除你的一些困惑。
答案 1 :(得分:0)
你可以逃避斜线:
myvar = "\\";