JSON の構文の定義は時間の経過とともに微妙に変化しており、有効な JSON の正確な基準に関して混乱が生じています。 JSON 文字列。
当初、JSON の仕様は、RFC 4627 で定義されているように、有効な JSON をシリアル化されたオブジェクト ({}) と配列 ([]) に厳密に制限していました。これは、文字列、数値、true、false などの単純な値は、それ自体では有効な JSON とみなされないことを意味します。
ただし、ECMA-404 の導入により拡張されました。すべての JSON データ型を包含するトップレベルの JSONValue を含む JSON の定義。その結果、Web ブラウザでは、すべての JSON 値が有効な JSON として許可されるようになりました。
ブラウザは、スカラーを許可する ES5 に基づいて JSON オブジェクトを実装していることに注意することが重要です。型と NULL を有効な JSON 値として使用します。これは、元の RFC 4627 仕様からの例外です。その結果、Ruby などの他の実装は RFC 4627 に厳密に従っており、その結果、有効な JSON の解釈が異なります。
これらのニュアンスを理解することは、特に異なる JSON を扱う場合には重要です。パーサーとエンコーダー。 JSON 文字列の検証に影響するため、実装が RFC 4627 に厳密に従っているか、より寛容な ECMA-404 定義を採用しているかを確認することが重要です。
以上が有効な JSON の定義: RFC 4627 と ECMA-404?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。