以下は、提供された記事の内容に基づいて生成された英語の質問と回答のタイトルです。 1. JSON 内にエスケープされた一重引用符があると、jQuery.parseJSON() が「無効な JSON」エラーをスローするのはなぜですか? 2. JSO 内で一重引用符をエスケープすることはできますか?

Linda Hamilton
リリース: 2024-11-01 13:34:02
オリジナル
524 人が閲覧しました

以下是几个根据你提供的文章内容生成的英文问答类标题:

1. Why does jQuery.parseJSON() throw an

jQuery.parseJSON は、JSON 内のエスケープされた一重引用符が原因で「無効な JSON」エラーをスローします。

jQuery.parseJSON() は、エスケープされた一重引用符を含む JSON を解析できません。 有効な JSON 文字列。 JSON 仕様では二重引用符のエスケープのみが許可されているため、これは正常です。

JSON 仕様

以下に示すように、JSON ステート マシンの図は、二重引用符のみエスケープが許可され、一重引用符は許可されないことを示しています。

[画像: JSON State Machine]

JSON 実装

仕様では一重引用符のエスケープが許可されていませんが、一部の JSON 実装ではそれを受け入れる場合があります。たとえば、Java の org.json では一重引用符が許可されますが、jQuery で使用される json2.js は仕様に従い、一重引用符を許可しません。

jQuery.parseJSON

jQuery.parseJSON は、最初にブラウザーのネイティブ JSON パーサーまたは json2.js の使用を試みるため、基になる実装と同じくらい寛容です。 json2.js は仕様に従っているため、jQuery でも一重引用符は使用できません。

parseJSON: function( data ) {
    ...

    // Attempt to parse using the native JSON parser first
    if ( window.JSON && window.JSON.parse ) {
        return window.JSON.parse( data );
    }

    ...

    jQuery.error( "Invalid JSON: " + data );
},
ログイン後にコピー

結論

jQuery.parse を使用して JSON を解析する際のエラーを回避するには、JSON 文字列で一重引用符の使用を避けるか、一重引用符の実装を受け入れる JSON ライブラリに切り替えます。

以上が以下は、提供された記事の内容に基づいて生成された英語の質問と回答のタイトルです。 1. JSON 内にエスケープされた一重引用符があると、jQuery.parseJSON() が「無効な JSON」エラーをスローするのはなぜですか? 2. JSO 内で一重引用符をエスケープすることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!