新的一行是如何在客户端和服务器端串联起来的?

我有以下使用JSON.stringifystring化的对象{g: "a\nb"}

在客户端'{"g":"a\nb"}'被返回,但在服务器端添加了一个转义字符: '{"g":"a\\nb"}'

Chrome控制台

Google Chrome控制台视图

节点控制台

 > a = {g: "a\nb"} { g: 'a\nb' } > JSON.stringify(a) '{"g":"a\\nb"}' 

为什么发生这种情况?

这是一个渲染问题,结果是平等的。 为了清楚起见,它只是在Chrome控制台中以不同方式显示它 它以更可读的格式显示它。

节点控制台不做任何这样的魔术。

您可以在Chrome控制台中观察到这一点:

 JSON.stringify({g: "a\nb"}) === '{"g":"a\\nb"}'; // true