首頁  >  文章  >  web前端  >  如何使用 JavaScript 轉義 JSON 字串中的換行符號?

如何使用 JavaScript 轉義 JSON 字串中的換行符號?

Linda Hamilton
Linda Hamilton原創
2024-11-02 13:03:02464瀏覽

How Do I Escape Newline Characters in JSON Strings with JavaScript?

在JavaScript 中使用換行符轉義JSON 字串

在JSON 值包含換行符的情況下,必須對它們進行轉義以獲得正確的JSON字串形成。

轉義換行符

要實現此目的,請在 JSON 物件上使用 JSON.stringify() 方法。隨後,利用replace()方法將n(換行符號)的所有實例替換為\n。

範例:

const jsonString = JSON.stringify({ value: 'This contains a newline\n' });
const escapedString = jsonString.replace(/\n/g, '\n');

轉義其他特殊字元

除了換行符之外,您可能還會會遇到需要對JSON 字串中的其他特殊字元進行轉義的情況。但是,沒有專門設計用於轉義所有此類字元的流行 JS 庫。

自訂轉義函數

要解決此問題,您可以建立一個名為escapeSpecialChars 的自訂轉義函數() 並將其附加到String 對象的原型:

String.prototype.escapeSpecialChars = function() {
    return this.replace(/\n/g, "\n")
               .replace(/\'/g, "\'")
               .replace(/\"/g, '\"')
               .replace(/\&/g, "\&")
               .replace(/\r/g, "\r")
               .replace(/\t/g, "\t")
               .replace(/\b/g, "\b")
               .replace(/\f/g, "\f");
};

使用自訂函數的簡化程式碼

使用自訂函數後,您的程式碼將變成:

const jsonString = JSON.stringify({ value: 'This contains a newline\n' });
const escapedString = jsonString.escapeSpecialChars();

此技術可以轉義JSON 字串中的換行符和其他潛在特殊字元。

以上是如何使用 JavaScript 轉義 JSON 字串中的換行符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn