ホームページ > 記事 > ウェブフロントエンド > JavaScript で JSON 文字列内の改行文字をエスケープするにはどうすればよいですか?
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 中国語 Web サイトの他の関連記事を参照してください。