浏览器JSON vs节点JSON

我试图将包含转义string的string序列化为JSON。 我会想象, JSON.stringify()将正确地重新转义这些string,并允许我JSON.parse它。 在一个简单的情况下,例如:

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

节点的输出是“\”。 浏览器的输出是“\” – 看起来浏览器(在我的情况下是铬)不正确地将双反斜杠\\转换为\\\\

这是为什么?

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

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