ホームページ >ウェブフロントエンド >jsチュートリアル >解析エラーを避けるために JSON の改行を適切に処理する方法は?

解析エラーを避けるために JSON の改行を適切に処理する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-05 03:20:09449ブラウズ

How to Properly Handle Newlines in JSON to Avoid Parsing Errors?

JSON での改行の処理: 評価の頭痛の回避

JavaScript で JSON データを扱う場合、解析を避けるために改行を効果的に処理することが不可欠になります。エラー。 eval と JSON.parse の両方を使用して、改行を含む JSON データをオブジェクトに変換しようとすると失敗する次の例を考えてみましょう。

var data = '{"count" : 1, "stack" : "sometext\n\n"}';
var dataObj = eval('('+data+')');  // This approach is discouraged

この問題は、文字列内に改行 (n) が存在することが原因で発生します。 JSON データ内の改行として誤って解釈され、評価プロセスが途中で終了し、「終了していない文字列リテラル」が生成されます。

この問題を修正し、JSON データをオブジェクトに正常に変換するには、改行文字を 2 つ重ねてエスケープすることが重要です。これにより、改行が JSON データの一部として保持され、改行として解釈されなくなります。修正されたコードは次のようになります。

var data = '{"count" : 1, "stack" : "sometext\n\n"}';
var dataObj = JSON.parse(data);

改行文字をエスケープすると、JSON パーサーは解析エラーが発生することなくデータを正しく解釈し、目的のオブジェクトを作成できます。

以上が解析エラーを避けるために JSON の改行を適切に処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。