js踩坑之路 因換行符導致字串轉換json失敗

2021-09-18 09:10:35 字數 522 閱讀 2449

問題描述:

hms從後台獲取到乙個json轉換的字串,需要重新轉換為json資料。通過使用json.parse()方法順利完成了轉換json。但是在測試某一條資料的時候,hms驚奇的發現,json.parse()方法報錯了,錯誤如下(示例),那麼是什麼原因導致的呢?

解決辦法:

經查詢,是由於字元中存在換行符,導致轉換json失敗,那麼如何才能正確解析換行符呢?

需要先將字串中的一些特殊字元進行轉義

json.parse(objstr.replace(/\n/g,"\\n").replace(/\r/g,"\\r"))
結果如下:

去除字串中多餘的換行符

妾發初覆額,折花門前劇。郎騎竹馬來,繞床弄青梅。同居長干里,兩小無嫌猜,十四為君婦,羞顏未嘗開。低頭向暗壁,千喚不一回。十五始展眉,願同塵與灰。常存抱柱信,豈上望夫台。十六君遠行,瞿塘灩澦堆。五月不可觸,猿聲天上哀。門前遲行跡,一一生綠苔。苔深不能掃,落葉秋風早。八月胡蝶來,雙飛西園草。感此傷妾心,...

js替換字串中的空格,換行符 r n或 n替換成

為了讓回車換行符正確顯示,需要將 n 或 r n 替換成 同樣地,將空格替換存 這裡我們通過正規表示式來替換。原始字串 替換所有的換行符 string string.replace r n g,string string.replace n g,string string.replace r n n...

解析使用者輸入的字串,加入回車換行符

使用者要求介面顯示要根據使用者的輸入格式顯示,於是用了標籤。使用者看了效果後又反饋意見,因為有的使用者輸入的行數太長而沒有換行,就會導致頁面撐得很開,很影響頁面美觀,要求如果使用者輸入太長要自動換行 出於程式設計師的本能 想快點完成專案,能簡單就簡單,能不改就改 幾經勸說使用者無效後,只能按使用者意...