当它在一个物体中时,我无法逃脱它。我刚刚在Node中做到了这一点。任何人都知道如何做到这一点?
var result = {
key1: "This is a line\n with new\n lines\n.",
key2: "No new lines here."
};
以下是我的结果:
结果
对象
var myTemp = JSON.stringify(result);
以下是结果
myTemp
{“key1”:“这是一行\ n,带有新\ n行\ n。”,“key2”:“此处没有新行。”}
var newTemp = myTemp.replace(/\\n/g, "\\n");
最后,这是最终结果。
newTemp
{“key1”:“这是一行\ n,带有新\ n行\ n。”,“key2”:“此处没有新行。”}
请注意它仍然是\n
,而不是\\n
。
答案 0 :(得分:0)
您的正则表达式也需要转义:myTemp.replace(/\\n/g, "\n")
原因:
\n
匹配实际的新行字符\\n
匹配由字符“\”后跟“n”给出的新行字符的表示形式,因为它可以在JSON字符串中找到。答案 1 :(得分:0)
根据StackOverflow上的答案:JavaScript string newline character?
以下是逃避新线路最安全的方法:
var key1 = "This is a line\n with new\n lines\n.";
var k2 = key1.replace(/\r\n|\r|\n/g,'');