gemäß der Debatte in diesem Beitrag: json-convert-in-javascript
gemäß der Debatte in diesem Beitrag: json-convert-in-javascript
Antworten:
Ja, ein Array ist als JSON-Text der obersten Ebene zulässig.
Es gibt drei Standarddokumente, die JSON definieren: RFC 4627 , RFC 7159 (wodurch RFC 4627 veraltet ist) und ECMA-404 . Sie unterscheiden sich darin, welche Elemente der obersten Ebene sie zulassen, aber alle erlauben ein Objekt oder ein Array als Element der obersten Ebene.
Ja , aber Sie sollten in einigen Szenarien aufgrund von JSON-Hijacking in Betracht ziehen, den Stamm stattdessen zu einem Objekt zu machen . Dies ist eine Sicherheitsanfälligkeit bezüglich der Offenlegung von Informationen, die auf dem Überschreiben des Array-Konstruktors in JavaScript basiert.
Dies ist aus der ECMAScript-Spezifikation.
JSONText: JSONValue JSONValue: JSONNullLiteral JSONBooleanLiteral JSONObject JSONArray JSONString JSONNumber
Es gibt einige Verwirrung, die in den anderen Kommentaren zu sehen ist. Der Medientyp "application / json" erlaubt nur Objekte oder Arrays auf der obersten Ebene für JSON-Text pro JSON-RFC . Für einen Parser ist jedoch jeder JSON-Wert akzeptabel, wie in der ECMAScript-Spezifikation angegeben.