Como usar
- Cole JSON, abra um arquivo ou experimente o exemplo.
- Ajuste as configurações. O resultado é atualizado enquanto você digita.
- Copie ou baixe o resultado formatado.
Entendendo JSON
JSON é um formato de texto para trocar dados estruturados. Ele aparece com frequência em respostas de API, arquivos de configuração e registros exportados. Seu pequeno conjunto de tipos de valores facilita a troca de dados entre diferentes linguagens de programação.
A formatação facilita a inspeção dessa estrutura. O recuo mostra quais valores pertencem ao mesmo grupo; as quebras de linha tornam os registros aninhados mais fáceis de examinar. Essas escolhas de apresentação não alteram os dados representados por um documento válido.
Valores e estrutura
Um documento JSON contém um valor. Esse valor pode ser um objeto ou array, mas uma string, um número, um booleano ou null também é válido na raiz. Objetos associam nomes em formato de string a valores; arrays contêm valores em uma sequência significativa. Ambos podem ser aninhados.
| Tipo | Exemplo | Significado |
|---|---|---|
| Objeto | {"name": "Ada"} | Propriedades nomeadas entre chaves. |
| Lista (array) | ["red", "blue"] | Uma sequência ordenada entre colchetes. |
| Texto (string) | "Hello, world" | Texto entre aspas duplas. |
| Número | -12.5e2 | Um número decimal, com expoente opcional. |
| Booleano | true / false | Um de dois valores lógicos. |
| Nulo | null | Um valor null explícito; não uma propriedade omitida. |
A sintaxe correta
Use aspas duplas nos nomes de propriedades e nas strings. Dois-pontos separam um nome de seu valor; vírgulas separam membros de objetos e itens de arrays. Não adicione uma vírgula após o último membro ou item. Comentários, aspas simples e expressões JavaScript não fazem parte do JSON estrito.
Os literais true, false e null são escritos em minúsculas. Os números usam notação decimal com sinal de menos, parte fracionária e expoente opcionais. Zeros à esquerda, sinal de mais inicial, NaN e Infinity são inválidos. Em strings, use escapes para aspas, barras invertidas e caracteres de controle; uma quebra de linha deve ser escrita como um escape, como \n.
Os nomes em objetos devem ser únicos para uma troca de dados confiável. Consumidores diferentes podem manter valores diferentes quando os nomes se repetem. O formatador informa duplicatas e as preserva para você decidir como resolvê-las. Uma verificação de sintaxe, por si só, não confirma se um documento segue um contrato de API ou JSON Schema.
O que a formatação preserva
O DevToolsy valida a entrada e ajusta os espaços em branco ao redor dos tokens originais. Ele mantém o texto de números como 900719925474099312345, 19.9900, 1e+400 e -0, além dos escapes originais das strings. Isso evita o arredondamento causado pela análise e nova serialização de números como valores de ponto flutuante do JavaScript. A aplicação que lê o resultado continua determinando sua própria precisão numérica.
O recuo, os finais de linha LF ou CRLF e a quebra de linha final são convenções de saída. Ordenar chaves é uma alteração separada e opcional: ordena recursivamente os membros de objetos pelos nomes decodificados, com uma comparação determinística que diferencia maiúsculas de minúsculas. A ordem dos arrays e a ordem relativa dos nomes duplicados são mantidas. Isso serve para leitura e comparação de diferenças; não é um esquema de canonicalização para assinaturas criptográficas.
{"name":"Ada","roles":["developer","reviewer"],"active":true}{
"name": "Ada",
"roles": [
"developer",
"reviewer"
],
"active": true
}O recuo muda a apresentação. Os nomes das propriedades, os valores e a ordem dos arrays permanecem iguais.
Até 5 MiB de entrada UTF-8, 20 MiB de saída, 128 níveis de aninhamento, 250.000 tokens analisados e 10 segundos por execução. Documentos grandes podem exigir um dispositivo mais potente.
Perguntas frequentes
A formatação automática altera minha entrada?
Não. Ela atualiza o resultado somente leitura após uma breve pausa, mantendo a entrada como você a escreveu. A formatação automática começa ativada. Desative-a para executar manualmente com Formatar JSON ou Ctrl/⌘ + Enter.
O que acontece enquanto meu JSON está incompleto?
O último resultado válido permanece visível enquanto você edita. Copiar e Baixar ficam desativados até que a entrada e as configurações atuais produzam um resultado válido. Selecione um erro para ir até sua posição na entrada.
A formatação arredonda números grandes ou altera escapes de strings?
Não. Os tokens numéricos originais e a escrita dos escapes de strings são preservados. Isso inclui inteiros longos, zeros decimais finais, notação exponencial e zero negativo. Outras aplicações podem interpretar esses números com precisões diferentes.
Ordenar chaves também reorganiza os arrays?
Não. Ordenar chaves se aplica recursivamente apenas a objetos. Os arrays mantêm sua sequência, e nomes duplicados mantêm sua ordem relativa. A ordenação vem desativada por padrão.
O formatador pode corrigir comentários ou vírgulas finais?
Ele aceita JSON estrito e informa sintaxe inválida em vez de tentar adivinhar uma correção. Comentários, strings com aspas simples, chaves sem aspas e vírgulas finais precisam ser corrigidos na entrada.
JSON Beautifier é o mesmo que JSON Formatter?
Sim. Nesta página, embelezar, pretty-print e formatar significam adicionar recuo e quebras de linha legíveis ao JSON. Para um documento compacto, use o Minificador de JSON.
Meu JSON sai do meu dispositivo?
Textos colados e arquivos locais são processados no navegador. O DevToolsy não faz upload do seu JSON nem salva um histórico de documentos. Copie ou baixe o resultado antes de sair se precisar guardá-lo.