Pergunta

De acordo com o debate neste post: JSON Conversão em Javascript

Foi útil?

Solução

Sim, uma matriz é legal como JSON-Text de nível superior.

Existem três documentos padrão que definem o JSON: RFC 4627, RFC 7159 (que obsoleta RFC 4627) e ECMA-404. Eles diferem nos quais elementos de nível superior permitem, mas todos permitem um objeto ou uma matriz como o elemento de nível superior.

  • RFC 4627: Objeto ou matriz.
    "Um texto JSON é um objeto ou matriz serializada."
  • RFC 7159: Qualquer valor JSON.
    "Um texto JSON é um valor serializado."
  • ECMA-404: Qualquer valor JSON.
    "Um texto JSON é uma sequência de tokens formados a partir de pontos de código Unicode que estão em conformidade com a gramática JSON Value".

Outras dicas

Sim, mas você deve considerar fazer da raiz um objeto em alguns cenários, devido a JSON Hijacking. Esta é uma vulnerabilidade de divulgação de informações com base na substituição do construtor da matriz no JavaScript.

Isto é da especificação do ECMAScript.

JSONText :
    JSONValue

JSONValue :
    JSONNullLiteral 
    JSONBooleanLiteral 
    JSONObject 
    JSONArray 
    JSONString 
    JSONNumber

Sim, experimente aqui.

http://www.jsonlint.com/

e coloque [{}

Há alguma confusão, vista nos outros comentários. O tipo de mídia "Application/Json" permite apenas objeto ou matriz no nível superior para o JSON-Text, por JSON RFC. No entanto, para um analisador, qualquer valor JSON é aceitável, como visto na especificação do ECMAScript.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top