ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery.parseJSON がエスケープされた一重引用符を含む JSON 文字列で失敗するのはなぜですか?

jQuery.parseJSON がエスケープされた一重引用符を含む JSON 文字列で失敗するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 06:14:301015ブラウズ

Why Does jQuery.parseJSON Fail on JSON Strings with Escaped Single Quotes?

jQuery.parseJSON エラー: 一重引用符がエスケープされているため無効な JSON

問題ステートメント

jQuery.parseJSON は、エスケープされた一重引用符 (') を含む JSON 文字列の解析に失敗し、「無効な JSON」エラーが発生します。この問題は、JSON データに適切にエスケープされた一重引用符を含む値が含まれている場合に発生します。

Answer

公式の JSON 仕様では、文字列を囲むのに一重引用符ではなく二重引用符のみが許可されています。 。一重引用符のエスケープは、正式な JSON 文法ではサポートされていません。

この設計上の決定により、JSON 解析が簡素化され、一重引用符による誤った文字列の終了が防止されます。結果として、jQuery.parseJSON は基礎となる JSON パーサー実装に依存しますが、通常はこの仕様に従い、一重引用符は受け入れられません。

追加情報

  • JSON の作成者である Douglas Crockford は、エスケープされた一重引用符の除外に影響を与えたミニマリズムと相互運用性の原則を強調しています。
  • org.json などの一部の Java ベースの JSON 実装では、一重引用符を使用できる場合があります。ただし、これに依存することはお勧めできません。
  • ブラウザのネイティブ JSON パーサーも標準に従い、エスケープされた一重引用符を受け入れません。
  • jQuery.parseJSON は、これらのネイティブ パーサーまたは JSON ライブラリ (json2) を使用します。 .js) が利用可能な場合は、一重引用符の制限の対象となります。

以上がjQuery.parseJSON がエスケープされた一重引用符を含む JSON 文字列で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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