Javascript 浏览器JSON与节点JSON
我正在尝试将包含转义字符串的字符串序列化为JSON。我本以为Javascript 浏览器JSON与节点JSON,javascript,json,node.js,Javascript,Json,Node.js,我正在尝试将包含转义字符串的字符串序列化为JSON。我本以为JSON.stringify()会正确地重新转义那些字符串,并允许我JSON.parse它。例如,在一个简单的情况下: JSON.parse(JSON.stringify("\\")) 节点的输出为“\”。浏览器的输出是“\”——看起来浏览器(我的例子是chrome)没有正确地将双反斜杠\\转换为\\\ 这是为什么?当你写代码时,你必须写“\\”(因为反斜杠self被用作转义),它是一个字符串,只包含一个反斜杠(“\\”。长度是1)
JSON.stringify()
会正确地重新转义那些字符串,并允许我JSON.parse
它。例如,在一个简单的情况下:
JSON.parse(JSON.stringify("\\"))
节点的输出为“\”。浏览器的输出是“\”——看起来浏览器(我的例子是chrome)没有正确地将双反斜杠\\
转换为\\\
这是为什么?当你写代码时,你必须写
“\\”
(因为反斜杠self被用作转义),它是一个字符串,只包含一个反斜杠(“\\”。长度是1
)
但是,当显示在控制台或浏览器中时,它将显示为“\”
是的,似乎只是控制台为了显示而吃掉了它们。后来我尝试了JSON.stringify(\\”).length=4,以确认它实际上与我期望的一致。