Javascript 如何使用打印JSON字符串\r\n?

Javascript 如何使用打印JSON字符串\r\n?,javascript,json,Javascript,Json,我得到这个对象:{a:“a\r\na”,b:“b\r\nb”}。我使用了JSON.stringify()从对象创建字符串,但是得到的输出是: "{ "a": "a\r\na", "b": "b\r\nb" }" 我真正想要的是: "{ "a": "a a", "b": "b b" }" 我应该如何获得此信息?mozilla文档(请参阅“”)似乎直接解决了这一问题: function jsFriendlyJSONStringify (s) { return J

我得到这个对象:
{a:“a\r\na”,b:“b\r\nb”}
。我使用了
JSON.stringify()
从对象创建字符串,但是得到的输出是:

"{

  "a": "a\r\na",

  "b": "b\r\nb"

}"
我真正想要的是:

"{

  "a": "a


a",

  "b": "b

b"

}"
我应该如何获得此信息?

mozilla文档(请参阅“”)似乎直接解决了这一问题:

function jsFriendlyJSONStringify (s) {
return JSON.stringify(s).
    replace(/\u2028/g, '\\u2028').
    replace(/\u2029/g, '\\u2029');
}
更新:

在OP和以下贡献者的帮助下

function jsFriendlyJSONStringify (s) {
return JSON.stringify(s).
    replace(/\\r/g, '\r').
    replace(/\\n/g, '\n')
}

提供更通用的解决方案。

这实际上取决于显示这些值的浏览器、编辑器或文本字段。如果您将其显示在网站上,您可以用

替换CR/LF

此外,Windows在MS Office Excel文件中使用CR/LF,而Mac上的MS Office Excel仅使用
\n
(新行)


tl;dr:如果不更改实际内容,则无法更改显示“样式”。

这是不可能的。它不是有效的JSON。但这并不能真正解决
\r\n
。@Xufox、u2028和u2029是\r和\n。(至少在我的控制台中)。也许重新考虑否决票,或者进一步解释?需要使用replace('\\r','\r')。replace('\\n','\n')代替,这是有效的。不知何故,/\u2028/和\\u2028不起作用,尽管这确实是解决演示文稿问题的可行方法,但它使用了不同的字符<代码>\r和
\n
分别是u000d和u000a。控制台中的相同演示并不意味着是同一个角色。你应该在回答中指出这一点。