JSON 領域經常引發這樣的問題:有效 JSON 字串的最低限度是什麼?本文對此問題進行了深入探討。
早期,RFC4627 是 JSON 規範的權威來源。此標準規定「{}」和「[]」均表示有效的獨立 JSON 字串。所有其他實例均被視為無效。
但是,此方法隨著 ECMA-404 的引入而演變,帶來了重大變化。
ECMA-404 擴充了有效 JSON 值的定義,不僅包括物件和數組,還包括字串、數字等。因此,更廣泛的字串變得有效,包括像“string”這樣的文字和像 42 這樣的數值。
然而,Web 瀏覽器已經採用了自己的標準,受ES5 規範。此版本的規範允許任何有效的 JSON 值,包括布林值(例如“true”)作為 JSON 字串的根。
要注意的是,並非所有JSON 實作都遵循相同的標準。例如,Ruby 在實作上保持嚴格,只接受物件和陣列作為有效根。另一方面,PHP 包含允許標量和空值的異常。
隨著時間的推移,有效 JSON 的定義發生了微妙但重大的變化。雖然“{}”和“[]”仍然是最基本的形式,但現代規範允許更廣泛的字串值。了解不同實作的細微差別對於確保相容性和防止意外的解析錯誤至關重要。
以上是什麼定義了有效的 JSON 字串:深入探討標準的演變的詳細內容。更多資訊請關注PHP中文網其他相關文章!