2014-04-21 33 views
2

我在尝试序列化包含转义字符串到JSON的字符串。我会想象JSON.stringify()将正确地重新逃脱这些字符串,并允许我JSON.parse它。在一个简单的情况下,例如:浏览器JSON vs节点JSON

JSON.parse(JSON.stringify("\\")) 

节点的输出是“\”。浏览器的输出是“\” - 看起来浏览器(我的例子中的Chrome)没有正确地将双反斜杠\\转换为\\\\

这是为什么?

回答

2

当您编写代码时,必须编写"\\"(因为反斜杠self用作转义),这是一个只包含一个反斜杠的字符串("\\".length1)。

但是,当在控制台或浏览器中显示时,它将显示为"\"

+0

是的,它似乎只是控制台正在吃它们的显示器。我后来尝试了JSON.stringify(“\\”).length = 4来确认它实际上与我所期望的一致。 – badunk