Heim > Artikel > Web-Frontend > Was sind die unterschiedlichen Definitionen von gültigem JSON?
Verstehen des minimal gültigen JSON
Das Konzept von JSON wurde in verschiedenen RFCs und Spezifikationen ausführlich diskutiert. RFC4627 definierte JSON ursprünglich als entweder ein serialisiertes Objekt oder ein Array. Basierend auf dieser Definition gelten nur {} (leeres Objekt) und [] (leeres Array) als gültige, vollständige JSON-Strings.
Allerdings ECMA-404 führte eine Änderung ein, die den Bereich gültiger JSON-Zeichenfolgen erweiterte. Mit diesem Update sind string, number, true, false, null, {} ( leeres Objekt) und [] (leeres Array) gelten alle als gültige JSON-Zeichenfolgen.
Im Bereich der Webbrowser ist JSON in ES5 standardisiert. ES5 definiert gültige JSON-Texte mit zwei Ausnahmen als dieselben wie RFC 4627. Erstens kann die JSONText-Produktion der obersten Ebene aus einem beliebigen JSONValue (einschließlich Zeichenfolgen, Zahlen, booleschen Werten und Null) bestehen, anstatt auf ein Objekt oder Array beschränkt zu sein. Dies bedeutet, dass alle JSON-Werte in Webbrowsern akzeptiert werden, auch wenn das zugrunde liegende JSON-Objekt möglicherweise RFC 4627 entspricht.
Es ist wichtig zu beachten, dass verschiedene Parser möglicherweise unterschiedliche Unterstützungsniveaus haben den gesamten Bereich gültiger JSON-Strings. Ruby akzeptiert beispielsweise nur Objekte und Arrays als Root, während PHP ausdrücklich Skalartypen und NULL in seine Kodierungs- und Dekodierungsfunktionen einbezieht.
Das obige ist der detaillierte Inhalt vonWas sind die unterschiedlichen Definitionen von gültigem JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!