per il dibattito in questo post: json-conversion-in-javascript
per il dibattito in questo post: json-conversion-in-javascript
Risposte:
Sì, un array è legale come testo JSON di primo livello.
Esistono tre documenti standard che definiscono JSON: RFC 4627 , RFC 7159 (che rende obsoleto RFC 4627) ed ECMA-404 . Differiscono in quali elementi di primo livello consentono, ma tutti consentono un oggetto o un array come elemento di primo livello.
Sì , ma dovresti considerare di rendere la radice un oggetto invece in alcuni scenari, a causa del dirottamento JSON . Si tratta di una vulnerabilità di divulgazione di informazioni basata sull'override del costruttore di array in JavaScript.
Questo è dalla specifica ECMAScript.
JSONText: JSONValue JSONValue: JSONNullLiteral JSONBooleanLiteral JSONObject JSONArray JSONString JSONNumber
C'è una certa confusione, vista negli altri commenti. Il tipo di supporto "application / json" consente solo oggetti o array al livello superiore per il testo JSON , per JSON RFC . Tuttavia, per un parser qualsiasi valore JSON è accettabile, come si vede nella specifica ECMAScript.