Pular para o conteúdo principal
PulsarKit

Formatar e validar JSON

Indente, minifique ou só verifique um arquivo JSON, com o erro localizado por linha e coluna e os problemas silenciosos apontados com todas as letras.

Solte seus arquivos aqui

.json, .jsonc, .txt · até 100 MB

Como Formatar JSON

  1. 1

    Solte um arquivo JSON

    Adicione um arquivo ou até vinte, com até 100 MB cada. Arquivos com comentários e vírgulas finais também são aceitos.

  2. 2

    Escolha formatar, minificar ou validar

    Formatar indenta o documento, minificar remove todo byte opcional e validar só relata o que encontrou, sem gerar arquivo.

  3. 3

    Leia o relatório e baixe

    Os erros vêm com linha e coluna; os avisos listam chaves duplicadas e perdas de precisão. Salve o resultado quando estiver tudo certo.

Erros com posição exata, não avisos vagos

Os navegadores não concordam sobre como informar erros de sintaxe: alguns dão a posição do caractere, outros só uma frase, e o texto muda de uma versão para outra. Por isso, aqui o JSON é lido por um analisador (parser) escrito para esta ferramenta, que sempre converte uma falha em linha e coluna. Em uma exportação de 40.000 objetos, saber que a vírgula perdida está na linha 8.421 é a diferença entre uma correção de dois minutos e uma tarde perdida.

Chaves duplicadas e números que mudam em silêncio

Dois problemas nunca aparecem em uma leitura comum. Uma chave repetida no mesmo objeto é válida para a maioria dos analisadores, que ficam com o último valor sem dizer nada; aqui, os números de linha das duas ocorrências são mostrados. E um inteiro maior que 2^53, como 9007199254740993, não pode ser guardado com exatidão como número JSON: ele volta com uma unidade a menos. Identificadores vindos de APIs externas esbarram nisso o tempo todo, por isso cada literal assim é apontado com o seu caminho.

Entrada tolerante, saída rigorosa

Arquivos reais chegam com comentários //, /* comentários de bloco */ e uma vírgula depois do último item. Tudo isso é legível, e tudo isso é rejeitado por qualquer analisador que siga o padrão. O modo tolerante aceita tudo isso e informa o que removeu. A saída é sempre JSON puro e válido. Para provar que um arquivo já segue o padrão, mude para a entrada rigorosa.

Seus dados ficam na aba

Dumps de API e exportações de configuração costumam conter tokens, endereços e dados de clientes, por isso nada disso é enviado a lugar nenhum. O arquivo é lido, analisado, verificado e reescrito dentro do seu navegador, e os arquivos maiores são processados em segundo plano, em um worker. Sem upload, sem conta e sem nenhuma cópia deixada para trás quando a aba é fechada.

Perguntas frequentes

Por que meu JSON com comentários passa na validação?

Porque o modo de entrada padrão é tolerante: comentários // e /* */ e vírgulas finais são aceitos, aparecem como avisos e ficam fora da saída. É a escolha prática para arquivos de configuração editados à mão. Se você precisa provar que um arquivo é JSON padrão, mude o modo de entrada para rigoroso, e essas mesmas coisas passam a ser erros.

O que significa o erro “unexpected token” (token inesperado)?

Que o analisador encontrou um caractere que não pode usar naquela posição. As causas comuns são uma vírgula faltando ou sobrando, aspas simples no lugar de duplas, uma chave sem aspas ou um valor que termina cedo demais. A mensagem dá a linha e a coluna, então comece a ler um ou dois tokens antes da posição indicada.

Como tirar toda a indentação do JSON?

Escolha minificar. Todo espaço, tabulação e quebra de linha opcional é removido, e o resultado fica em uma só linha, normalmente de 15% a 30% menor que a versão indentada. Os dados lidos são idênticos, então o arquivo minificado substitui o formatado em qualquer lugar onde ele funcionava.

O que é perda de precisão em números?

Os números JSON são de ponto flutuante, então nem todos os inteiros acima de 2^53 podem ser representados. Entre com 9007199254740993 e você recebe 9007199254740992 de volta. Identificadores longos de sistemas externos são as vítimas de sempre. Cada literal com esse problema é sinalizado com o seu caminho, e a solução duradoura é a API de origem enviar esses IDs como strings.

Dá para ordenar as chaves em ordem alfabética?

Sim. A ordenação é uma opção de ligar e desligar e vale para todos os níveis de aninhamento. Ela é mais útil antes de comparar duas exportações, porque elimina diferenças de ordem sem significado e deixa no diff só as mudanças reais. A ordem das chaves não tem significado no JSON, então nada se perde ao ordenar.

O que o modo validar faz de diferente?

Ele para depois da verificação. Você recebe um veredito e a lista completa de erros e avisos, e nenhum arquivo é gerado para download. Use esse modo quando só precisa saber se um arquivo está correto, como um artefato de build ou a resposta de uma API que você está prestes a publicar, e não pretende reescrevê-lo.

Meu JSON é enviado para algum lugar?

Não. A leitura, a verificação e a reescrita acontecem na aba do seu navegador, com o código que vem junto com a página. Não há servidor que receba o texto, nada é registrado e nada fica guardado depois que você fecha a aba.

Guias

Ferramentas relacionadas