JSON での改行の処理
JSON データを扱う場合、予期しないエラーを避けるために改行を正しく処理することが重要です。この問題とその解決策の詳細な説明は次のとおりです。
問題
eval または JSON.parse を使用して改行を含む JSON データを解析すると、次のようなエラーが発生する可能性があります。 「終了していない文字列リテラル」として。これは、JSON の二重引用符で囲まれた文字列内では改行 (\n と \r) が認識されないためです。
解決策
JSON で改行を処理するには、以下が必要です。改行文字の前に二重バックスラッシュ (\\) を使用してエスケープします。例えば:
{ "count": 1, "stack": "sometext\\n\\n" }
改行をエスケープすると、改行が JSON データに保存され、パーサーが改行を文字列の一部として解釈するのを防ぎます。
例
エスケープされた改行を使用したコードの更新バージョンは次のとおりです:
var data = '{ "count": 1, "stack": "sometext\\n\\n" }'; var dataObj = eval('(' data ')');
このコードは、改行関連のエラーが発生することなく、JSON データを正常に解析できるようになりました。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3