Bestimmen des minimal gültigen JSON
Der JSON-Standard, wie in RFC4627 definiert, spezifiziert einen JSON-Text strikt als serialisiertes Objekt oder Array. Folglich existieren nur zwei minimale gültige JSON-Strings:
Ausnahmen und Anpassungen
Die Einführung von ECMA-404 und Anpassungen in Webbrowsern haben jedoch die Definition von gültigem JSON erweitert. ECMA-404 erlaubt, dass der JSONText der obersten Ebene jeden JSON-Wert enthält, einschließlich Zeichenfolgen, Zahlen und Nullwerten.
Browser integrieren das JSON-Objekt (JSON.parse() und JSON.stringify()) gemäß ES5, das die Definition von gültigem JSON weiter erweitert. Mit ES5 können alle JSON-Werte als gültige Eingabe akzeptiert werden, unabhängig von ihrer Platzierung als Stamm.
Auswirkungen auf die JSON-Analyse
Diese Abweichung von der strengen RFC4627-Definition bedeutet dass verschiedene JSON-Parser unterschiedliche Interpretationen davon haben können, was gültiges JSON ausmacht. Beispielsweise akzeptieren Browser einfache Werte (Zeichenfolgen, Zahlen, Nullen), während Parser, die sich an RFC4627 halten, möglicherweise alles andere als Objekte und Arrays als Wurzel ablehnen.
Daher ist es bei der Arbeit mit JSON von entscheidender Bedeutung, dies zu tun Berücksichtigen Sie die Zielumgebung und den spezifischen JSON-Parser, der verwendet wird, um die Gültigkeit von JSON-Zeichenfolgen sicherzustellen.
Das obige ist der detaillierte Inhalt vonWas sind die minimal gültigen JSON-Strings und wie gehen verschiedene Parser damit um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!