Formatador e validador de JSON
Formate, minifique e valide JSON, com a linha e a coluna exatas de um erro de sintaxe e os números grandes mantidos tal como estão escritos.
- Nível superior
- Chaves
- Profundidade máxima
- Tamanho
Fixe aqui as ferramentas. Ficam guardadas neste navegador.
Fixe uma ferramenta e o autocolante dela aparece aqui.
Formate, minifique e valide JSON, com a linha e a coluna exatas de um erro de sintaxe e os números grandes mantidos tal como estão escritos.
O JSON está definido no RFC 8259 e no ECMA-404. Um documento é um único valor: um objeto, um array, uma string, um número, true, false ou null. As strings e as chaves dos objetos escrevem-se entre aspas duplas, e não existe sintaxe para comentários.
Muitos documentos com erros contêm algo que um literal de objeto JavaScript permite e o JSON não: uma vírgula depois do último elemento, aspas simples, uma chave sem aspas ou um comentário. Com Corrigir erros comuns ativado, esta ferramenta aceita estes casos, bem como quebras de linha e tabulações literais dentro de strings, uma barra invertida antes de aspas simples e os True, False e None do Python, indica o que alterou e escreve JSON estrito.
Cada navegador formula de maneira diferente um erro do JSON.parse, e alguns não dizem onde está. Esta ferramenta lê o texto com o seu próprio parser, por isso a mensagem, a linha e a coluna são as mesmas em todo o lado. Ir para o erro seleciona na entrada o carácter que causa o problema; quando cola um documento inteiro, a ferramenta fá-lo sozinha.
A posição indicada é onde o parser não conseguiu continuar, o que pode ficar um pouco depois do erro real. Uma vírgula em falta, por exemplo, é assinalada no primeiro carácter do elemento seguinte.
A gramática do JSON não impõe limite ao tamanho de um número, mas o JSON.parse do JavaScript converte todos os números em vírgula flutuante de 64 bits, que só representa com exatidão todos os inteiros até 2 elevado a 53 (9 007 199 254 740 992). Um identificador maior, como 12345678901234567890, sai do JSON.parse como 12345678901234567000. Este formatador copia o texto de cada número em vez de o converter, por isso os inteiros longos, 1.0 e 1e5 saem exatamente como entraram, e avisa quando um inteiro não sobreviveria a um parser de JavaScript.
O RFC 8259 diz que as chaves de um objeto devem ser únicas e que o comportamento do software que recebe uma chave duplicada é imprevisível. Muitos parsers guardam apenas o último valor, sem qualquer aviso. O formatador mantém todas as entradas e indica onde está a primeira chave duplicada.
Ordenar chaves ordena as chaves de todos os objetos, em todos os níveis, por unidade de código UTF-16, que é a ordem da ordenação predefinida do JavaScript: algarismos, depois letras maiúsculas, depois letras minúsculas. Os arrays mantêm a sua ordem. O tamanho é contado em bytes UTF-8.
Não. O texto é analisado e formatado por JavaScript no separador do seu navegador, e a ferramenta não faz nenhum pedido de rede com o que cola.
A gramática do RFC 8259 não tem sintaxe para comentários e exige um valor depois de cada vírgula, por isso um parser que siga a norma rejeita ambos. O JSON5 é um formato à parte que os permite. Ative a opção de correção para ler um ficheiro assim e obter JSON estrito.
Formatar põe cada elemento na sua própria linha e indenta-o, o que torna a estrutura legível. Minificar remove os espaços em branco entre os elementos, o que torna o documento mais pequeno para guardar e enviar. Os dados são os mesmos nas duas formas.
Não para um programa que siga a especificação, que descreve um objeto como uma coleção não ordenada de pares nome/valor. Ordenar ajuda quando compara dois documentos linha a linha. Os arrays têm uma ordem própria, por isso os seus elementos nunca mudam de lugar.
Abre numa janela própria e continua a funcionar offline.
Para instalar, toque no botão Partilhar e depois em «Adicionar ao ecrã principal».