Ir para o conteúdo

{ } · 2 / 4 / tab · minify

Formatador e validador de JSON

Um formatador de JSON adiciona indentação a um JSON compacto: um documento de 60 bytes passa a 86 bytes com 2 espaços e a 102 bytes com 4. Cole o JSON para obter o texto formatado ou minificado, ou a linha e a coluna do primeiro erro.

Tudo roda nesta aba e nada é enviado. O analisador segue a RFC 8259, então comentários, aspas simples, vírgulas finais e chaves sem aspas são apontados como erros.

Scanned by NortonTM Safe Web

Resumo

Preço
Sem custo
Conta
Não é necessária
Padrão
RFC 8259 (JSON)
Limites
5 MB de entrada, 512 níveis de aninhamento
Saída
2 espaços, 4 espaços, tabulação ou minificado, com chaves opcionalmente ordenadas
Envio
Nenhum — o texto fica na aba do seu navegador

Erros de JSON e precisão numérica

Estes valores vêm do analisador usado nesta página. Linhas e colunas começam a contar em 1.

Primeiro erro encontrado em um documento com problema
DocumentoCódigo do motivoLinha:coluna
{"a": 1,}trailing_comma1:8
{'a': 1}single_quotes1:2
[1, 2unexpected_end1:6
{"a": 01}bad_number1:8
{"a": "x\q"}bad_escape1:9
{"a": 1 "b": 2}missing_comma1:9
Números que o JSON.parse arredonda
Número como escritoValor que o JSON.parse retorna
1234567890123456789012345678901234567000
90071992547409939007199254740992
1.00000000000000011
1E400Infinity

Como formatar JSON

1

Cole o seu JSON

Digite ou cole um documento JSON de até 5 MB na caixa de entrada. Já há um exemplo ali para você ver o resultado primeiro.

2

Escolha a saída

Escolha 2 espaços, 4 espaços, uma tabulação ou a forma minificada. Marque a opção para ordenar as chaves de cada objeto por unidade de código.

3

Copie ou corrija

Copie ou baixe o resultado. Se o JSON tiver erro, a mensagem informa a linha, a coluna e o motivo, e um cursor marca o ponto na linha com problema.

Como funciona o formatador de JSON

A página lê o seu texto com um analisador próprio para a gramática JSON da RFC 8259 e o escreve de volta com a indentação escolhida. Como o analisador faz parte da página, todo navegador mostra a mesma mensagem para o mesmo erro. O JSON.parse nativo descreve os erros de formas diferentes no Chrome, no Firefox e no Safari, e nem todos indicam linha e coluna.

Números e sequências de escape são copiados exatamente como você digitou. O JSON.parse transforma 12345678901234567890 em 12345678901234567000, porque um número do JavaScript é um float de 64 bits com cerca de 15 a 17 dígitos significativos. Esta página mantém os 20 dígitos e avisa quando um número seria arredondado. A RFC 8259 diz que os nomes de um objeto devem ser únicos, então chaves duplicadas são mantidas e sinalizadas. Os limites são 5 MB de entrada e 512 níveis de aninhamento.

Perguntas sobre o formatador de JSON

Como formatar JSON online?

Cole o JSON na caixa de entrada. O texto formatado aparece na hora, com 2 espaços, 4 espaços ou uma tabulação por nível. O exemplo de 60 bytes passa a 86 bytes com 2 espaços e a 102 bytes com 4 espaços.

O que significa "unexpected token" e onde está o meu erro?

Significa que o analisador encontrou um caractere que a gramática JSON não permite naquele ponto. Esta página informa o motivo, a linha e a coluna. Para {"a": 1,} ela indica trailing_comma na linha 1, coluna 8.

Por que uma vírgula final é um erro em JSON?

A gramática da RFC 8259 exige um valor depois de cada vírgula, então [1, 2,] e {"a": 1,} são inválidos. Os literais de objeto do JavaScript aceitam vírgula final, mas o JSON não. Apague a última vírgula.

O JSON pode ter comentários ou aspas simples?

Não. A RFC 8259 não tem comentários, e strings e chaves usam só aspas duplas. Formatos como JSON5 e JSONC permitem os dois, mas são formatos diferentes, e esta página os aponta como erros.

O formatador altera os meus números?

Não. Números e escapes são escritos de volta exatamente como digitados. O JSON.parse arredondaria 12345678901234567890 para 12345678901234567000, mas esta página mantém todos os dígitos, então formatar não perde nada.

O meu JSON é enviado para algum lugar?

Não. A página roda na aba do seu navegador e não envia nada a nenhum servidor. Depois de carregada, ela também funciona off-line. O limite de entrada é 5 MB.