2017-05-15 26 views
0

當它位於對象中時,我無法逃脫新行。我剛剛在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
{ 「鍵1」: 「這是一個行\ n,其中新\ n行的\ n」, 「KEY2」: 「這裏沒有新的生產線。」}

var newTemp = myTemp.replace(/\\n/g, "\\n"); 

最後,這裏有最終結果。

newTemp
{ 「鍵1」: 「這是一個行\ n,其中新\ n行的\ n」, 「KEY2」: 「這裏沒有新線」}

注意它仍然是\n,而不是\\n

+0

爲什麼你會想'\\ N'?這不是一個逃脫的換行符,這是一個逃脫的反斜槓後面跟着一個n字符。 – Bergi

回答

0

你的正則表達式需要轉義,太:myTemp.replace(/\\n/g, "\n")

原因:

  • \n符合實際的新行字符
  • \\n用字符「賦予了新的行字符的表示匹配\ 「後跟」n「,因爲它可以在JSON字符串中找到。
0

基於在計算器上的答案在這裏: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,'');