Transformando JSON bagunçado em uma árvore interativa clara com jsontr.ee
Recentemente eu estava analisando uma resposta de API de terceiros com algumas centenas de linhas e uma dúzia de arrays e objetos aninhados. A formatação do IDE e o familiar visualizador expansível no navegador não ajudaram muito: para entender as relações entre as entidades, eu precisava rolar constantemente para cima e para baixo, perdendo o contexto. Em momentos assim, você só quer ver o grafo de dados inteiro em uma tela.
Encontrei uma biblioteca compacta chamada jsontr.ee no GitHub, construída especificamente para resolver esse problema exato. Ela recebe qualquer objeto JSON e gera uma árvore interativa baseada em SVG a partir dele.
O que a biblioteca pode fazer
O repositório The-01-Company/jsontr.ee contém um script JavaScript leve sem dependências pesadas. Seu objetivo principal é renderizar rapidamente hierarquias de dados como diagramas com nós e conexões.
A biblioteca possui vários recursos interessantes:
- Posicionamento automático de nós. O script distribui os blocos para que não se sobreponham.
- Suporte completo para aninhamento. Objetos dentro de arrays e estruturas complexas recebem rótulos de pai legíveis.
- Saída SVG vetorial limpa. Os gráficos escalam sem perda de qualidade em qualquer nível de zoom.
- Personalização flexível da aparência através de parâmetros ou CSS comum.
Além da biblioteca JS em si, o autor empacotou a funcionalidade como uma extensão do Visual Studio Code chamada JSON Tree Visualizer. Então, para análise rápida de arquivos, você não precisa necessariamente integrar nada ao seu próprio projeto.
Início rápido no código
Conectar a biblioteca é simples. Não são necessárias configurações complexas de build—basta incluir o arquivo de script na sua página.
<script src="path/to/jsontr.ee.js"></script>
Então declaramos um contêiner na marcação:
<div id="json-tree"></div>
E passamos dados para a função generateJSONTree:
const jsonData = {
name: "Lou Alcalá",
projects: [
{
name: "JSONtr.ee",
description: "JSON Formatter, Validator & Viewer Online",
url: "https://jsontr.ee"
},
{
name: "PixSpeed.com",
description: "Image compressor",
url: "https://pixspeed.com"
}
]
};
const container = document.getElementById('json-tree');
container.innerHTML = generateJSONTree(jsonData);
A função retorna uma string de marcação SVG pronta, que inserimos imediatamente via innerHTML.
Estilização
A aparência do grafo é fácil de adaptar ao esquema de cores da sua interface. Existem duas abordagens de personalização.
A primeira opção é passar um objeto de configuração como segundo argumento:
const options = {
arrowColor: "#475872",
nodeBorderColor: "#475872",
nodeBackgroundColor: "#f6f8fa",
keyColor: "#b16b2a",
valueColor: "#008000",
};
container.innerHTML = generateJSONTree(jsonData, options);
A segunda abordagem é estilizar através de CSS. Como a saída é SVG padrão, você pode aplicar seletores comuns aos seus elementos:
rect {
fill: #ffffff !important;
stroke: #1e293b !important;
stroke-width: 2px !important;
}
Essa abordagem é útil quando você precisa implementar um tema escuro ou alterar dinamicamente a estilização através de classes.
Usando no VS Code
Se você não pretende criar uma interface web e só precisa analisar logs e despejos de dados, é mais conveniente instalar um plugin do editor:
- Abra o painel de Extensões no VS Code (Ctrl+Shift+X ou Cmd+Shift+X).
- Digite
JSON Tree Visualizerna busca. - Clique no botão Instalar.
- Abra o arquivo JSON desejado e invoque o comando
Visualize JSON as Treevia Paleta de Comandos.
Depois disso, o editor abrirá o diagrama interativo na próxima aba.
Cenários práticos
Onde essa visualização realmente economiza tempo:
- Depurando webhooks complexos e payloads de integração.
- Criando documentação interna de API para colegas ou clientes.
- Treinando desenvolvedores iniciantes a ler estruturas de dados em árvore.
- Visualizando arquivos de configuração com níveis profundos de aninhamento.
O script não tem abstrações desnecessárias, então é fácil incorporá-lo em um painel administrativo interno ou dashboard de monitoramento.
Resumo
A biblioteca jsontr.ee faz exatamente uma coisa: transforma JSON de forma rápida e limpa em um diagrama SVG legível.
A documentação no repositório ainda é concisa, mas o código em si é claro sem precisar buscar respostas. Se você precisa regularmente explicar estruturas de dados para colegas ou simplesmente está cansado de rolar paredes de texto ao depurar APIs, esta ferramenta definitivamente vale a pena adicionar aos favoritos. O código-fonte é aberto sob a licença MIT em The-01-Company/jsontr.ee no GitHub.
Projetos relacionados