que desde cero aprender arrays json rfc4627

arrays - desde - ¿Puede una matriz ser texto JSON de nivel superior?



aprender json desde cero (5)

Esto es de la especificación ECMAScript.

JSONText : JSONValue JSONValue : JSONNullLiteral JSONBooleanLiteral JSONObject JSONArray JSONString JSONNumber

por el debate en esta publicación: json-conversion-in-javascript


Existe cierta confusión, vista 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.


Sí, una matriz es legal como texto JSON de nivel superior.

Hay tres documentos estándar que definen JSON: RFC 4627 , RFC 7159 (que obsoleto RFC 4627) y ECMA-404 . Difieren en qué elementos de nivel superior permiten, pero todos permiten un objeto o una matriz como elemento de nivel superior.

  • RFC 4627: Objeto o matriz.
    "Un texto JSON es un objeto o matriz en serie".
  • RFC 7159: cualquier valor JSON.
    "Un texto JSON es un valor serializado".
  • ECMA-404: Cualquier valor JSON.
    "Un texto JSON es una secuencia de tokens formados a partir de puntos de código Unicode que se ajusta a la gramática de valores JSON".


, pero en su lugar debería considerar hacer que la raíz sea 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 la matriz en JavaScript.