理解最小有效 JSON
JSON 的概念已在各種 RFC 和規範中廣泛討論。 RFC4627 最初將 JSON 定義為序列化物件或陣列。根據此定義,只有 {}(空物件) 和 [](空數組) 才有資格作為有效、完整的 JSON 字串。
但是,ECMA-404引入了一項修正案,擴大了有效 JSON 字串的範圍。在此更新中,字串、數字、true、false、null、{ } (空物件) 和[](空數組) 都被視為有效的JSON 字串。
在 Web 瀏覽器領域,JSON 在 ES5 中標準化。 ES5 定義有效的 JSON 文字與 RFC 4627 相同,但有兩個例外。首先,頂級 JSONText 產生可以由任何 JSONValue(包括字串、數字、布林值和 null)組成,而不是僅限於物件或陣列。這意味著網頁瀏覽器接受所有 JSON 值,即使底層 JSON 物件可能遵守 RFC 4627。
需要注意的是,不同的解析器可能有不同等級的支援完整範圍的有效 JSON 字串。例如,Ruby 只接受物件和陣列作為根,而 PHP 在其編碼和解碼功能中明確包含標量類型和 NULL。
以上是有效 JSON 有哪些不同的定義?的詳細內容。更多資訊請關注PHP中文網其他相關文章!