ホームページ > 記事 > ウェブフロントエンド > JavaScript で JSON 文字列内の改行文字をエスケープする方法
JavaScript を使用した JSON 文字列内の改行文字のエスケープ
JSON 文字列では、読みやすくするために改行文字を含める必要があることがよくあります。ただし、これらの文字は、JSON 形式で直接送信される場合に問題を引き起こす可能性があります。これに対処するには、文字列を送信する前にそれらをエスケープすることが重要です。
オプション 1: JSON.stringify() と .replace() を使用する
まず、 JSON.stringify():
<code class="javascript">var json = JSON.stringify({"value": "This \nis a test"});</code>
を使用して JSON オブジェクトを文字列に変換し、改行文字をエスケープしますusing .replace():
<code class="javascript">var escapedJson = json.replace(/\n/g, "\\n");</code>
これにより、「n」のすべてのインスタンスが「n」に置き換えられ、改行文字が正常にエスケープされます。
オプション 2: を使用して特殊文字をエスケープする再利用可能な関数
改行文字を含むすべての特殊文字をエスケープするには、再利用可能な関数を作成できます。 function:
<code class="javascript">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"); };</code>
この関数はエスケープが必要な任意の文字列に適用できます:
<code class="javascript">var json = JSON.stringify({"value": "This \nis a test"}); var escapedJson = json.escapeSpecialChars();</code>
どちらのオプションも JSON 文字列内の改行文字を効果的にエスケープし、JSON データ送信時の互換性を確保します。
以上がJavaScript で JSON 文字列内の改行文字をエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。