浏览器JSON vs节点JSON
我试图将包含转义string的string序列化为JSON。 我会想象, JSON.stringify()
将正确地重新转义这些string,并允许我JSON.parse
它。 在一个简单的情况下,例如:
JSON.parse(JSON.stringify("\\"))
节点的输出是“\”。 浏览器的输出是“\” – 看起来浏览器(在我的情况下是铬)不正确地将双反斜杠\\
转换为\\\\
。
这是为什么?
当你编写代码时,你必须写"\\"
(因为反斜杠self用作转义),这是一个只包含一个反斜杠的string( "\\".length
是1
)。
但是当在控制台或浏览器中显示时,它将显示为"\"
。