Ir para o editor JSON
JSON Formatter Viewer

Visualizador JSON

input.json

Cole seu JSON aqui

ou solte um arquivo .json em qualquer ponto desta área

A saída formatada aparece aqui.

Aguardando uma entrada

Ler uma carga desconhecida

A árvore ganha do texto formatado porque mostra a forma. O texto indentado diz o que o documento contém; a árvore diz como ele está organizado, que é a pergunta que você realmente tem quando chega uma resposta de uma API que você não escreveu.

Uma ordem de trabalho que funciona para algo que você nunca viu:

  1. Cole. A raiz abre automaticamente, junto com objetos filhos pequenos, então a forma do primeiro nível fica visível sem um clique.
  2. Leia a barra de status. Profundidade diz até onde o aninhamento desce; chaves mostra o total contra as únicas, e uma diferença grande entre as duas significa que você está vendo registros repetidos e não um objeto de configuração largo.
  3. Se a raiz for um array de objetos, mude para Tabela. Comparar registros em linhas é muito mais fácil do que entre subárvores irmãs.
  4. Busque o campo que interessa e use copiar-caminho naquela linha para obter o acessador para o seu código.

O que cada linha conta

  • Contêineres recolhidos trazem uma contagem — 3 itens ou 5 chaves — para você julgar se vale abrir um ramo antes de abri-lo.
  • Os valores são coloridos por tipo e as strings mantêm as aspas. Um número exibido como "42" é uma string, e essa distinção costuma ser justamente o bug que você caça.
  • null é mostrado explicitamente em vez de como célula vazia, porque um nulo e uma chave ausente são coisas diferentes.
  • Cada linha tem botões de copiar-valor e copiar-caminho. Copiar-valor dá texto puro para strings e JSON formatado para contêineres.

Por que documentos grandes continuam responsivos

O visualizador constrói o DOM de forma preguiçosa. Um nó recolhido não contém nenhum elemento filho, e abri-lo constrói apenas os filhos imediatos — 200 por vez em arrays grandes. Um documento de 20 MB custa, portanto, uma análise e um punhado de linhas na primeira pintura, em vez de milhões de nós que o navegador teria de posicionar antes de responder.

Expandir é a única operação genuinamente cara, então ela para em 20.000 nós e avisa. Para ler o documento inteiro, a visão de texto formatado é a melhor ferramenta.

Ler JSON que chegou dentro de uma string

Pipelines de log e filas de mensagens entregam com frequência JSON codificado como string JSON, que chega assim: "{\"id\":7,\"ok\":true}". Cole e pressione Desescapar: a string externa é analisada, o documento interno é decodificado e a árvore desenha a estrutura real. Funciona repetidas vezes para cargas codificadas mais de uma vez.

Perguntas frequentes

A busca encontra ocorrências dentro de nós recolhidos?

Sim. A busca percorre a estrutura de dados analisada e não o DOM renderizado, então uma ocorrência doze níveis abaixo dentro de um ramo fechado também é encontrada — e a árvore abre cada ancestral para revelá-la. Visualizadores que buscam no DOM perdem essas silenciosamente.

O que o botão de copiar caminho me dá?

Uma expressão JSONPath que resolve para aquele nó, como $.endpoints[1].p99_ms. É entrada válida para o jq (tire o $) e para a maioria das bibliotecas JSONPath, e se traduz direto em acesso a propriedades no código.

Por que um array longo mostra só parte de si mesmo?

Arrays renderizam 200 filhos por vez, com um botão para carregar o próximo bloco. Construir 100.000 linhas de DOM de antemão é o que faz outros visualizadores travarem; assim a primeira pintura é imediata e você traz mais somente onde está realmente olhando.

Consigo navegar a árvore pelo teclado?

Sim — a árvore implementa o padrão ARIA tree. As setas para cima e para baixo movem entre linhas visíveis, a direita expande, a esquerda recolhe ou pula para o pai, e Enter alterna. Ctrl/⌘ + K foca a busca.

O resto das ferramentas

O mesmo motor e a mesma privacidade — cada página roda inteiramente no seu navegador.