无法逃避对象

时间:2017-05-15 20:27:59

标签: javascript node.js

当它在一个物体中时,我无法逃脱它。我刚刚在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

2 个答案:

答案 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,'');