ホームページ ウェブフロントエンド jsチュートリアル エスケープされた一重引用符が存在すると jQuery.parseJSON が「無効な JSON」エラーをスローするのはなぜですか?

エスケープされた一重引用符が存在すると jQuery.parseJSON が「無効な JSON」エラーをスローするのはなぜですか?

Oct 29, 2024 am 06:50 AM

Why Does jQuery.parseJSON Throw

JSON 内の単一引用符のエスケープが原因で jQuery.parseJSON が「無効な JSON」エラーをスローする

問題:
jQuery.post() を使用してサーバーから JSON オブジェクトを取得する場合、値のいずれかにエスケープされた一重引用符 (') が含まれていると解析が失敗します。これは、JSON 文字列が有効である場合でも発生します。

理由:
JSON 仕様によれば、文字列内ではエスケープされた二重引用符のみが許可され、一重引用符は許可されません。一重引用符文字は、JSON 標準に従ってエスケープする必要はありません。

更新:
「JavaScript: The Good Parts」での JSON に関するディスカッション中、Douglas Crockford、 JSON の作成者は、エスケープされた二重引用符のみを許可する決定は相互運用性を簡素化するために行われたと説明しました。二重引用符のみの使用を要求することで、混乱や文字列の誤終了の可能性が排除されます。

意味:
これは、単一引用符文字は使用できないことを意味します。 JSON 文字列内で誤って文字列を終了してしまう可能性があります。したがって、正式な JSON 仕様では一重引用符のエスケープは必要ありません。

実装の考慮事項:
JSON 仕様では一重引用符のエスケープは許可されていませんが、org などの bazı 実装ではJava の .json はより寛大で、使用が許可されています。ただし、これは標準ではなく、jQuery で使用される実装を含む多くの一般的な実装は、公式の JSON 仕様に厳密に従っており、一重引用符付き文字列やエスケープされた一重引用符を含む JSON を拒否することに注意することが重要です。

jQuery.parseJSON の動作:
jQuery.parseJSON は、ブラウザーによって提供される基盤となる JSON パーサー、または json2.js などのロードされたライブラリに依存します。これらの実装は通常、JSON 仕様に準拠しているため、一重引用符のエスケープは許可されず、したがって jQuery も許可されません。

以上がエスケープされた一重引用符が存在すると jQuery.parseJSON が「無効な JSON」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

例JSONファイルの例 例JSONファイルの例 Mar 03, 2025 am 12:35 AM

例JSONファイルの例

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

8見事なjQueryページレイアウトプラグイン

10 jQuery構文蛍光物 10 jQuery構文蛍光物 Mar 02, 2025 am 12:32 AM

10 jQuery構文蛍光物

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

独自のAjax Webアプリケーションを構築します

' this' JavaScriptで? ' this' JavaScriptで? Mar 04, 2025 am 01:15 AM

' this' JavaScriptで?

10 JavaScript&JQuery MVCチュートリアル 10 JavaScript&JQuery MVCチュートリアル Mar 02, 2025 am 01:16 AM

10 JavaScript&JQuery MVCチュートリアル

See all articles