según el debate en esta publicación: json-conversion-in-javascript
según el debate en esta publicación: json-conversion-in-javascript
Respuestas:
Sí, una matriz es legal como texto JSON de nivel superior.
Hay tres documentos estándar que definen JSON: RFC 4627 , RFC 7159 (que deja obsoleto a RFC 4627) y ECMA-404 . Se diferencian en qué elementos de nivel superior permiten, pero todos permiten un objeto o una matriz como elemento de nivel superior.
Sí , pero debería considerar convertir la raíz en un objeto en algunos escenarios, debido al secuestro de JSON . Esta es una vulnerabilidad de divulgación de información basada en anular el constructor de matriz en JavaScript.
Esto es de la especificación ECMAScript.
JSONText: JSONValue JSONValue: JSONNullLiteral JSONBooleanLiteral JSONObject JSONArray JSONString JSONNumber
Hay cierta confusión, como se ve en los otros comentarios. El tipo de medio "application / json" solo permite objetos o matrices en el nivel superior para texto JSON , según JSON RFC . Sin embargo, para un analizador, cualquier valor JSON es aceptable, como se ve en la especificación ECMAScript.