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 サイトの他の関連記事を参照してください。