Formatador JSON

Formate, valide e minifique arquivos JSON instantaneamente.

Cole seu JSON

data.json
Pronto. Cole o JSON e escolha uma ação.

Seu JSON é processado diretamente no seu navegador. Nada é enviado para o BroBroGo.

FAQ

Meu JSON é enviado para algum servidor?

Não. O formatador roda inteiramente no seu navegador e não faz upload do seu JSON.

O que faz a função de minificar?

A minificação remove espaços e quebras de linha desnecessários, mantendo exatamente os mesmos dados do JSON.

Processamento local e privacidade de dados

O processamento dos dados inseridos nesta ferramenta ocorre inteiramente no lado do cliente. Seu JSON é processado diretamente no seu navegador. Nada é enviado para o BroBroGo. Isso significa que a validação, a formatação e a minificação de arquivos ocorrem localmente no computador do usuário, sem tráfego de dados de entrada para servidores externos.

Validação e correção de erros de sintaxe

A validação rigorosa é essencial para garantir que o JSON esteja em conformidade com as especificações formais da linguagem. Quando um arquivo ou texto inserido apresenta falhas estruturais, a ferramenta impede a renderização da estrutura hierárquica e exibe a mensagem "Corrija o JSON para visualizá-lo em árvore.".

O validador identifica desvios específicos da especificação e aponta a localização exata do problema por meio da indicação "linha {line}, coluna {col}". O usuário pode clicar no botão "Ir para o erro" para navegar diretamente ao ponto problemático. Entre as falhas de sintaxe detectadas e reportadas pelo sistema estão:

  • Falta uma vírgula entre os itens
  • Vírgula extra antes do fechamento
  • As chaves de objeto devem estar entre aspas duplas
  • Faltam dois-pontos depois do nome de uma propriedade
  • Uma string está sem as aspas de fechamento
  • O JSON termina cedo demais — parece truncado
  • Caractere inesperado onde deveria haver um valor
  • Este JSON tem níveis demais de aninhamento para ser processado
  • Chave duplicada {key} — remova uma antes de formatar (a ferramenta gera um erro em chaves duplicadas em vez de mesclá-las silenciosamente)

Detecção e reparo de formatos não padronizados

Além de apontar erros, a ferramenta analisa o texto para identificar se a entrada corresponde a um formato alternativo ou corrompido, oferecendo correções automáticas por meio do botão "Ver correção". O painel "Prévia da correção" exibe o estado "Original" lado a lado com o resultado "Depois da correção". Se a alteração for muito extensa, o sistema exibe o aviso "Prévia truncada — a correção afeta o documento inteiro.". Caso o reparo não seja possível, surge o aviso "Não foi possível reparar esta entrada automaticamente.".

As estruturas detectadas e suas respectivas ações de correção incluem:

Padrão Detectado Mensagem de Detecção Ação de Correção
Bloco Markdown Isto parece JSON dentro de um bloco de código Markdown. Ao aplicar, apenas o JSON dentro do bloco é mantido.
JSON Escapado Isto parece JSON escapado dentro de uma string. Ao aplicar, a string é desescapada para JSON puro.
Dicionário Python Isto parece um dicionário no estilo Python, não JSON. Ao aplicar, as aspas e True/False/None são reescritos como JSON.
JSON Lines Isto parece JSON Lines — um valor por linha. Ao aplicar, as linhas são agrupadas em um único array JSON.
Callback JSONP Isto parece JSON envolvido em um callback JSONP. Ao aplicar, o invólucro do callback é removido.
Sintaxe JSONC Isto parece JSONC — comentários ou vírgulas extras no final. Mude a sintaxe para JSONC ou aplique a correção. Ao aplicar, os comentários e as vírgulas extras são removidos.

Ao clicar em "Aplicar correção", o editor atualiza o conteúdo e exibe "Correção aplicada. Pressione Ctrl/Cmd+Z para desfazer.".

Formatação, ordenação e minificação

A ferramenta oferece recursos para ajustar a apresentação visual do JSON de acordo com a necessidade de leitura humana ou de transmissão de dados.

Formatação e recuo

O usuário pode definir o nível de "Recuo" desejado para estruturar o documento visualmente. Ao aplicar a formatação, o editor exibe a mensagem "JSON formatado.". O sistema preserva números inteiros grandes sem perda de precisão durante a formatação.

Ordenação de chaves

O botão "Ordenar chaves" executa uma organização estrutural profunda. A ferramenta "Ordena as chaves dos objetos recursivamente por ponto de código. A ordem dos arrays nunca muda.". Após a execução, a interface exibe "Chaves ordenadas — a ordem dos arrays não mudou. Pressione Ctrl/Cmd+Z para desfazer.".

Minificação

Para cenários onde o objetivo é reduzir o consumo de banda ou espaço de armazenamento, a função "Minificar" remove todos os espaços em branco, quebras de linha e caracteres de recuo desnecessários. O resultado é confirmado com a mensagem "JSON minificado.".

Navegação estrutural na visualização em árvore

Para analisar a hierarquia de arquivos complexos, a aba "Visualização" permite alternar entre o modo "Código" e o modo "Árvore". A "Árvore JSON" renderiza os nós de forma interativa.

O usuário pode utilizar o campo "Pesquisar chaves e valores" para localizar termos específicos dentro da estrutura. Os resultados da busca são indicados por contadores como "{current} de {total}" ou "{current} de {total}+" quando o volume de correspondências é limitado pela ferramenta. Se nenhum termo for encontrado, a mensagem "Nenhuma correspondência" é exibida. A navegação entre os resultados é feita pelos botões "Correspondência anterior" e "Próxima correspondência".

Para expandir ou recolher nós específicos, a interface disponibiliza os botões "Expandir {key}" e "Recolher {key}", além dos comandos globais "Expandir tudo" e "Recolher tudo". Ao clicar com o botão direito ou acessar o menu de um nó ("Opções de cópia para {key}"), o usuário pode extrair dados específicos utilizando três formatos:

  • Copiar valor: Copia apenas o conteúdo do nó selecionado.
  • Copiar JSON Pointer: Copia o caminho do nó baseado na RFC 6901.
  • Copiar JSONPath: Copia a expressão de consulta para o nó selecionado.

Limites operacionais e tratamento de arquivos grandes

O processamento de dados no navegador exige limites operacionais para manter a estabilidade da aplicação. A ferramenta adota as seguintes regras para arquivos e entradas de texto:

  • Limite de tamanho de entrada: O tamanho máximo de entrada suportado é de 10 MiB. Se o limite for excedido, a ferramenta exibe "A entrada é maior que {limit}, mais do que esta ferramenta consegue processar.".
  • Tempo limite de verificação: Se a análise do documento demorar muito, o processo é interrompido com o aviso "A verificação deste JSON demorou demais e foi interrompida. Tente um documento menor.".
  • Limite de processamento síncrono: O limite para processamento síncrono imediato é de 250.000 caracteres.
  • Restrições da árvore de visualização: Se o JSON for muito grande, a árvore exibirá "Este JSON é grande demais para ser renderizado em árvore." ou "Este JSON tem valores demais para ser renderizado em árvore.". Ao expandir um documento grande, a exibição é limitada com o aviso "Este JSON é grande demais para ser expandido por completo — mostrando as primeiras {count} linhas.", disponibilizando o botão "Mostrar mais {count}…" para carregar mais nós.

Upload e download de arquivos

O usuário pode carregar arquivos locais arrastando-os para a área "Solte um arquivo.json ou.txt aqui" ou clicando em "Abrir arquivo". O sistema realiza as seguintes validações durante a abertura:

  • Tipo de arquivo: Se o arquivo não for .json ou .txt, exibe "Tipo de arquivo não suportado — escolha um arquivo.json ou.txt.".
  • Codificação: O arquivo deve ser codificado em UTF-8. Caso contrário, exibe "Este arquivo não é texto UTF-8, então não pode ser aberto aqui.".
  • Tamanho do arquivo: Se o arquivo exceder o limite, exibe "O arquivo é grande demais — o limite é {limit}.".
  • Falha de leitura: Se ocorrer um erro de leitura física, exibe "Não foi possível ler este arquivo. Tente escolhê-lo novamente.".

Após o carregamento bem-sucedido, a mensagem "{name} carregado ({size})." é exibida. O usuário pode salvar o resultado processado localmente clicando em "Baixar", o que gera a confirmação "{name} baixado.".

Perguntas Frequentes (FAQ)

Meu JSON é enviado para algum servidor?
Não. O formatador roda inteiramente no seu navegador e não faz upload do seu JSON.

O que faz a função de minificar?
A minificação remove espaços e quebras de linha desnecessários, mantendo exatamente os mesmos dados do JSON.

Como a ferramenta lida com chaves duplicadas em um objeto?
A ferramenta identifica chaves duplicadas como um erro de validação ("Chave duplicada {key} — remova uma antes de formatar") em vez de mesclar ou descartar os valores silenciosamente.

Posso carregar qualquer tipo de arquivo de texto?
Não. A ferramenta suporta apenas arquivos com as extensões .json ou .txt que estejam codificados em UTF-8 e respeitem o limite máximo de tamanho estabelecido.