隨著時間的推移,JSON 語法的定義發生了細微的變化,導致人們對有效 JSON 的精確標準感到困惑。 JSON 字串。
最初,RFC 4627 中定義的 JSON 規範嚴格限制有效 JSON 為序列化物件 ({}) 和陣列 ([])。這意味著字串、數字、true 和 false 等簡單值本身不被視為有效的 JSON。
但是,ECMA-404 的引入擴展了JSON 的定義包括頂級 JSONValues,其中包含所有 JSON 資料類型。因此,Web 瀏覽器現在允許所有 JSON 值作為有效的 JSON。
需要注意的是,瀏覽器基於 ES5 實作 JSON 對象,這允許標量類型和 NULL 作為有效的 JSON 值。這是原始 RFC 4627 規範的例外。因此,一些其他實作(例如 Ruby)嚴格遵守 RFC 4627,從而導致對有效 JSON 的不同解釋。
理解這些細微差別至關重要,尤其是在使用不同的 JSON 時解析器和編碼器。必須確認實作是否嚴格遵循 RFC 4627 還是採用更寬鬆的 ECMA-404 定義,因為這會影響 JSON 字串的驗證。
以上是有效 JSON 的定義是什麼:RFC 4627 與 ECMA-404?的詳細內容。更多資訊請關注PHP中文網其他相關文章!