jQuery.post() を使用して JSON オブジェクトを取得する場合、次のことが重要です。文字列値内で一重引用符 (') 文字を使用すると、解析中にエラーが発生する可能性があります。
JSON 仕様によれば、二重引用符文字のみを使用できます。文字列内でエスケープされました。一重引用符文字はエスケープする必要がありません。
jQuery は、ブラウザーのネイティブ JSON パーサーまたは json2.js ライブラリを使用して JSON を解析しようとします。残念ながら、これらの実装は JSON 仕様に厳密に従っており、一重引用符やそのエスケープをサポートしていません。したがって、そのような文字が含まれている場合、jQuery は JSON を無効であると報告します。
この問題を回避するには、二重引用符 (") を使用して文字列値を囲む必要があります。 JSON オブジェクト。これにより、JSON が仕様に完全に準拠し、jQuery で正常に解析できることが保証されます。
JSON 仕様では一重引用符のエスケープを明示的に禁止していませんが、実装によっては柔軟性を高めるためにそれらを受け入れることを選択することもできますが、相互運用性を確保し、互換性の問題を回避するために、公式仕様に従うことを強くお勧めします。
以上がjQuery.parseJSON がエスケープされた一重引用符に対して「無効な JSON」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。