Formatador e Validador JSON Pro
Formate, valide, consulte, compare e transforme JSON — totalmente no seu navegador
JSON de Entrada
Saída Formatada
Formatador, validador, JSONPath, diff e esquema JSON — onDevTools
Formate, valide, consulte, compare e transforme JSON inteiramente no seu navegador. Parser estrito RFC 8259 mais modo JSONC, validação JSON Schema Draft 2020-12, JSONPath RFC 9535, diff profundo com JSON Merge Patch e transformações achatar / desachatar / remover nulos — sem upload, sem rastreamento.
Recursos
- Embeleze e minifique JSON com indentação configurável (2, 4 ou 8 espaços) e ordenação alfabética opcional de chaves
- Parser estrito RFC 8259 / ECMA-404 mais um modo JSONC permissivo que aceita comentários // e /* */ e vírgulas finais
- Visualização em árvore interativa e recolhível com pesquisa de texto completo, expandir/recolher tudo e cópia por nó do valor ou do caminho JSON Pointer
- Validador de JSON Schema (Draft 2020-12) que reporta violações de type, required, enum, pattern, min/max, oneOf/anyOf/allOf, additionalProperties e itens de array com caminhos completos da instância
- Motor de consulta JSONPath (RFC 9535) com suporte a curingas, descida recursiva (..), fatiamento de arrays e expressões de filtro como $[?(@.price > 10)]
- Diff profundo lado a lado com segmentos adicionados / removidos / modificados / inalterados codificados por cor, mais cópia ou download do resultado
- Pipeline de transformação: achatar para notação de ponto, desachatar, remover nulos, remover strings/arrays/objetos vazios e encadear operações
- Painel de estatísticas JSON: total de itens, contagem de objetos/arrays, divisão por tipo e profundidade máxima de aninhamento
- Relatório de erros em linha com a linha e a coluna do parser, além de sugestões para ativar o modo JSONC quando a falha parece estar relacionada a comentários ou vírgulas finais
- Cópia ou download com um clique para a saída formatada, minificada, do esquema ou do diff
- Roda inteiramente no cliente — JSON, esquemas e entradas de diff nunca saem do seu navegador
Como usar
- Cole ou arraste seu JSON para o painel JSON de Entrada — a formatação automática é acionada conforme você digita, ou clique em Formatar para uma passagem explícita.
- Se a análise falhar em um arquivo de configuração ou nas configurações do VS Code, alterne o interruptor JSONC para permitir comentários e vírgulas finais e execute novamente.
- Mude para a visualização em Árvore para explorar estruturas profundamente aninhadas; use a caixa de pesquisa para destacar chaves ou valores correspondentes e copie o caminho ou o valor de qualquer nó.
- Abra a aba Validação de Esquema, cole um documento JSON Schema e clique em Validar — cada violação mostra a palavra-chave que falhou e o caminho JSON Pointer do valor problemático.
- Use a aba Comparação diff para comparar dois documentos JSON e copie o patch como JSON Merge Patch pronto para aplicar em outro lugar.
- Use a aba Consulta JSONPath para extrair ou filtrar partes do documento com expressões como $.store.book[?(@.price < 10)].title.
- Use a aba Transformações para achatar, desachatar ou remover nulos; encadeie transformações reexecutando-as sobre a entrada atualizada e, em seguida, copie ou baixe o resultado.
Dicas e Melhores Práticas
- Ative JSONC no momento em que vir 'Unexpected token /' ou 'Unexpected token ,' — quase sempre é um arquivo de configuração com comentários ou uma vírgula final.
- Use Ordenar chaves antes de fazer commit de arquivos de configuração JSON para manter os diffs dos PRs mínimos.
- Copie o caminho JSON Pointer da visualização em árvore para inserir um link direto a um nó específico no seu relatório de bug ou na descrição do PR.
- Se um ID de 64 bits aparece como 1234567890123456800, seu produtor está emitindo-o como número — mude a API para enviar IDs como strings.
- Encadeie Remover Nulos → Minificar → Copiar para produzir a menor carga útil possível para corpos de requisições HTTP.
Perguntas Frequentes
Vocês armazenam meu JSON?
Não. A análise, a validação, as verificações de esquema, o diff e as transformações rodam todos no seu navegador usando JavaScript local e as APIs Web Crypto / DOM — nada é enviado. Isso torna seguro colar respostas de API, arquivos de configuração ou cargas úteis sensíveis de sistemas em produção.
Qual especificação JSON o parser segue?
O modo estrito segue RFC 8259 / ECMA-404, os padrões da IETF e da ECMA para JSON. O modo JSONC (alterne o interruptor JSONC) acrescenta as extensões de comentários e vírgulas finais usadas pelo settings.json do VS Code, tsconfig.json e arquivos de configuração similares. JSON5 (por exemplo, chaves sem aspas, aspas simples, números hexadecimais) não é atualmente suportado — use um parser JSON5 se sua entrada exigir esses formatos.
O que o validador de JSON Schema oferece?
A validação roda contra JSON Schema Draft 2020-12 com cobertura completa de type, required, enum, pattern, format, minimum/maximum, minLength/maxLength, minItems/maxItems, additionalProperties, items, prefixItems, oneOf/anyOf/allOf, $ref e if/then/else condicional. Cada violação reporta a palavra-chave que falhou mais o caminho JSON Pointer até o valor incorreto, para que você possa identificar problemas profundamente aninhados sem percorrer toda a instância.
Quais expressões JSONPath são suportadas?
O motor de consultas implementa a superfície da RFC 9535: raiz ($), segmento filho ($.key, $['key']), índice e fatiamento de array ([0], [0:3]), curingas ([*]), descida recursiva (..) e expressões de filtro com operadores de comparação, regex e lógicos (por exemplo, $[?(@.price > 10 && @.in_stock == true)]). Múltiplos resultados são retornados como um array; os valores são extraídos na ordem do documento.
Qual é a diferença entre JSONC e JSON5?
JSONC é JSON puro acrescido de comentários de linha //, comentários de bloco /* */ e vírgulas finais — popular em arquivos de configuração editados por humanos. JSON5 é um superconjunto que adicionalmente permite chaves sem aspas, strings com aspas simples, números hexadecimais/com decimal inicial e NaN/Infinity. Esta ferramenta suporta JSONC; para entradas em JSON5 você precisará convertê-las antes ou usar um parser JSON5.
Posso formatar arquivos JSON muito grandes?
Sim, mas a visualização em árvore e o motor JSONPath escalam aproximadamente de forma linear com o número de nós, então acima de ~1 MB / ~50.000 nós a interface fica visivelmente mais lenta. Para cargas úteis grandes, use a visualização Texto simples em vez da Árvore, execute primeiro a transformação Minificar se você precisar apenas de uma saída compacta, ou divida o documento por chave de nível superior. Streaming e JSON Lines (.jsonl) estão fora do escopo — use uma CLI como jq nesses casos.
Como isso se compara ao jq, jsonlint ou ao formatador integrado do VS Code?
O jq é imbatível para pipelines com scripts e streaming, e o jsonlint cobre validação estrita. A vantagem desta ferramenta é fazer tudo em um só lugar — formatação + validação + verificação de esquema + JSONPath + diff profundo + transformações — sem sair do navegador. O formatador integrado do VS Code lida com a formatação, mas não com caminhos de erro com consciência de esquema, JSONPath ou diff/merge.
Por que o parser diz 'Unexpected token' em um arquivo de configuração?
O parser é estrito por padrão, então comentários //, blocos /* */ e vírgulas finais geram um erro apontando para o caractere problemático. O painel de status sugerirá automaticamente ativar o modo JSONC quando o padrão da falha corresponder a um desses recursos. Se a mensagem apontar para uma string totalmente entre aspas, verifique se há barras invertidas não escapadas ou caracteres de controle — esses são os outros culpados comuns.
Posso personalizar a indentação e a ordem das chaves?
Sim. Escolha 2, 4 ou 8 espaços no controle Indentação e ative Ordenar chaves para emitir as chaves dos objetos em ordem alfabética — útil para diffs estáveis e arquivos de configuração reproduzíveis. A saída é sempre UTF-8 com linhas separadas por quebra de linha (sem BOM); o formatador nunca reordena os elementos de arrays porque isso alteraria a semântica.
Quais operações de transformação estão disponíveis?
Achatar converte {a:{b:1}} em {"a.b":1} para ferramentas que esperam chaves em notação de ponto (variáveis de ambiente, feature flags). Desachatar inverte isso. Remover Nulos elimina recursivamente todas as propriedades com valor null, Remover Vazios elimina também strings vazias, [] e {}, e Minificar produz uma saída em uma única linha. As transformações se aplicam à entrada atual, então você pode encadeá-las para compor pipelines.
A ferramenta suporta a extração de caminhos JSON Pointer?
Sim. Na visualização em árvore, ao passar o mouse sobre qualquer nó, o seu caminho JSON Pointer (RFC 6901) é revelado — por exemplo, /store/book/0/author — que você pode copiar com um clique. JSON Pointer é a mesma notação que os resultados de esquema e diff usam para identificar localizações, então você pode colar um caminho de um painel em outro para navegar até o mesmo valor.
Posso compartilhar um resultado formatado com um colega de equipe?
A maneira mais rápida é colar o JSON na máquina dele — não há estado no servidor para compartilhar via link. Se você precisa de uma entrega em formato de link permanente, use um Gist ou um serviço de paste com a saída minificada. Evite compartilhar tokens, segredos ou PII em qualquer caso, mesmo no lado do cliente, porque a área de transferência ou o console do colega que recebe pode persisti-los.
Lida com Unicode e números grandes corretamente?
Toda a entrada é tratada como UTF-8 e os pares substitutos (emojis, caracteres CJK) fazem o ida e volta sem escape. Números acima de Number.MAX_SAFE_INTEGER (2^53 − 1) perdem precisão porque o parser subjacente usa doubles IEEE-754 — isso é uma peculiaridade da especificação JSON, não uma limitação da ferramenta. Se você está transportando IDs de 64 bits, envie-os como strings, que é o que a maioria das APIs faz.