De acordo com a especificação da classe JSONArray :
- Um extra (vírgula) pode aparecer logo antes do colchete de fechamento.
- O valor nulo será inserido quando houver, (vírgula) elisão.
Então, pelo que entendi, deve ser permitido escrever:
[0,1,2,3,4,5,]
Mas pode acontecer que alguns analisadores retornem o 7 como contagem de itens (como o IE8, como Daniel Earwicker apontou) em vez do esperado 6.
Editado:
Encontrei este JSON Validator que valida uma string JSON no RFC 4627 (o tipo de mídia application / json para JavaScript Object Notation) e na especificação da linguagem JavaScript. Atualmente, uma matriz com vírgula à direita é considerada válida apenas para JavaScript e não para a especificação RFC 4627.
No entanto, na especificação RFC 4627, é afirmado que:
2.3 Matrizes
Uma estrutura de matriz é representada como colchetes envolvendo zero ou mais valores (ou elementos). Os elementos são separados por vírgulas.
array = begin-array [ value *( value-separator value ) ] end-array
Para mim, isso é novamente um problema de interpretação. Se você escrever que os Elementos são separados por vírgulas (sem declarar algo sobre casos especiais, como o último elemento), pode ser entendido de ambas as maneiras.
O PS RFC 4627 não é um padrão (como explicitamente declarado) e já está obsoleto pelo RFC 7159 (que é um padrão proposto) RFC 7159