Cole um JSON para deixá-lo legível, compactá-lo em uma linha ou só confirmar se ele é válido. Quando há erro, a ferramenta aponta a linha e a coluna e explica o problema mais provável. Tudo acontece no seu navegador: o conteúdo não é enviado nem guardado.
Exemplos:
Como usar
- Cole o JSON no campo de entrada (ou clique em um dos exemplos).
- Escolha Formatar para indentar, Compactar para remover espaços e quebras de linha, ou Só validar.
- Ajuste a indentação: 2 espaços, 4 espaços ou tabulação.
- Se houver erro, o trecho problemático fica selecionado no campo de entrada e a mensagem diz linha, coluna e uma dica de correção.
- Use Copiar resultado para levar a saída para o seu teste, ferramenta de API ou código.
Exemplos
Entrada compacta, como costuma vir no corpo de uma resposta HTTP:
{"id":1024,"nome":"Maria Teste","ativo":true,"tags":["qa","api"]}
Saída formatada com 2 espaços:
{
"id": 1024,
"nome": "Maria Teste",
"ativo": true,
"tags": [
"qa",
"api"
]
}
Entrada inválida, com vírgula depois do último item:
{
"id": 1,
"nome": "Maria",
}
Resultado: JSON inválido. Linha 4, coluna 1. Há uma vírgula sobrando antes de “}”.
Como funciona
A validação usa o JSON.parse nativo do navegador, que segue a especificação do formato (RFC 8259 e ECMA-404). Nada é avaliado como código: um texto que pareça JavaScript, como uma função, é tratado apenas como JSON inválido. A saída é gerada com JSON.stringify, com a indentação escolhida.
Quando o JSON.parse rejeita a entrada, a ferramenta lê a posição informada pelo navegador, converte em linha e coluna e examina os caracteres próximos para escolher a dica: vírgula sobrando, aspas simples, chave sem aspas, comentário, conteúdo terminado antes da hora ou valores que não existem em JSON, como NaN e undefined.
Antes de formatar, a ferramenta também procura números inteiros maiores que 9.007.199.254.740.991 (o maior inteiro que o JavaScript representa com exatidão). Se encontrar, avisa que esses valores serão arredondados na saída.
Uso em QA e desenvolvimento
- Ler o corpo de uma resposta de API copiado do log, do DevTools ou de um relatório de falha.
- Validar payloads antes de colar em uma coleção do Postman, em um teste do Cypress ou em uma keyword do Robot Framework.
- Conferir arquivos de massa de dados e fixtures que quebram o teste com um erro de sintaxe pouco claro.
- Compactar um JSON para enviar em uma variável de ambiente, um parâmetro de linha de comando ou um campo de banco.
- Explicar para o time onde exatamente um JSON gerado pela aplicação está malformado ao abrir um bug.
Erros comuns em JSON
| Erro | Exemplo | Correção |
|---|---|---|
| Vírgula após o último item | [1, 2,] | [1, 2] |
| Aspas simples | {'a': 1} | {"a": 1} |
| Chave sem aspas | {a: 1} | {"a": 1} |
| Comentários | {"a": 1} // obs | Remover o comentário |
| Valores de JavaScript | {"a": undefined} | {"a": null} |
| Quebra de linha dentro de texto | texto com Enter no meio | Usar \n dentro das aspas |
Limitações
- A entrada é limitada a 2 milhões de caracteres para não travar o navegador.
- Números maiores que o limite seguro do JavaScript são arredondados na saída (a ferramenta avisa quando isso acontece). IDs muito longos devem trafegar como texto.
- Chaves duplicadas no mesmo objeto são aceitas pelo
JSON.parse; a última ocorrência prevalece e as anteriores somem do resultado. - A mensagem técnica do erro vem do navegador. Em alguns navegadores ela não informa a posição; nesse caso a ferramenta mostra uma dica geral.
- Formatos derivados, como JSON5, JSONC (com comentários) e NDJSON (um JSON por linha), não são aceitos.
Perguntas frequentes
O JSON que eu colo fica salvo em algum lugar?
Não. O processamento é feito pelo JavaScript da página, no seu navegador. O conteúdo não é enviado ao servidor do AppsQuality e não é registrado. Mesmo assim, evite colar tokens, senhas e dados pessoais reais.
Por que a ordem das chaves mudou?
A ordem é mantida como na entrada, com uma exceção da linguagem: chaves que são números inteiros (como "10" ou "2") são listadas primeiro, em ordem crescente. O conteúdo continua o mesmo.
Um texto solto, como “abc” ou 42, é JSON válido?
Sim. Desde a RFC 7159, qualquer valor JSON pode ser a raiz: objeto, array, texto, número, true, false ou null. A ferramenta informa o tipo da raiz ao validar.
Qual a diferença entre formatar e compactar?
Formatar adiciona quebras de linha e indentação para leitura humana. Compactar remove todo espaço desnecessário, o que reduz o tamanho para tráfego e armazenamento. Os dois representam exatamente os mesmos dados.
Ferramentas relacionadas
- Comparador de JSON: veja o que mudou entre duas respostas.
- Gerador de UUID v4: crie identificadores para seus payloads de teste.
- Conversor de timestamp Unix: entenda datas numéricas que aparecem no JSON.
