>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
JavaScript

Trasformare JSON disordinato in un albero interattivo chiaro con jsontr.ee

Recentemente stavo analizzando una risposta API di terze parti di qualche centinaio di righe con una dozzina di array e oggetti nidificati. La formattazione dell'IDE e il familiare visualizzatore espandibile nel browser non sono stati di grande aiuto: per capire le relazioni tra le entità, dovevo scorrere costantemente su e giù, perdendo il contesto. In momenti come questi, vorresti semplicemente vedere l'intero grafico dei dati su uno schermo.

Mi sono imbattuto in una libreria compatta chiamata jsontr.ee su GitHub, creata appositamente per risolvere esattamente questo problema. Prende qualsiasi oggetto JSON e genera un albero interattivo basato su SVG.

Cosa può fare la libreria

Il repository The-01-Company/jsontr.ee contiene un leggero script JavaScript senza dipendenze pesanti. Il suo scopo principale è quello di renderizzare rapidamente gerarchie di dati come diagrammi con nodi e connessioni.

La libreria ha diverse funzionalità interessanti:

  • Posizionamento automatico dei nodi. Lo script distribuisce i blocchi in modo che non si sovrappongano.
  • Supporto completo della nidificazione. Gli oggetti all'interno di array e le strutture complesse ottengono etichette genitore leggibili.
  • Output SVG vettoriale pulito. La grafica si ridimensiona senza perdita di qualità a qualsiasi livello di zoom.
  • Personalizzazione flessibile dell'aspetto attraverso parametri o CSS normale.

Oltre alla libreria JS stessa, l'autore ha distribuito la funzionalità come estensione per Visual Studio Code chiamata JSON Tree Visualizer. Quindi per un'analisi rapida dei file, non è necessariamente necessario integrare nulla nel proprio progetto.

Avvio rapido nel codice

Collegare la libreria è semplice. Nessuna configurazione di build complessa necessaria—basta includere il file dello script nella pagina.

<script src="path/to/jsontr.ee.js"></script>

Poi dichiariamo un contenitore nel markup:

<div id="json-tree"></div>

E passiamo i dati alla funzione 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);

La funzione restituisce una stringa di markup SVG pronta, che inseriamo immediatamente tramite innerHTML.

Stilizzazione

L'aspetto del grafico è facile da adattare al schema colori della tua interfaccia. Ci sono due approcci di personalizzazione.

La prima opzione è passare un oggetto di configurazione come secondo argomento:

const options = {
    arrowColor: "#475872",
    nodeBorderColor: "#475872",
    nodeBackgroundColor: "#f6f8fa",
    keyColor: "#b16b2a",
    valueColor: "#008000",
};

container.innerHTML = generateJSONTree(jsonData, options);

Il secondo approccio è la stilizzazione tramite CSS. Poiché l'output è SVG standard, puoi applicare selettori normali ai suoi elementi:

rect {
    fill: #ffffff !important;
    stroke: #1e293b !important;
    stroke-width: 2px !important;
}

Questo approccio è utile quando devi implementare un tema scuro o cambiare dinamicamente lo stile attraverso le classi.

Utilizzo in VS Code

Se non stai pianificando di costruire un'interfaccia web e hai solo bisogno di analizzare log e dump di dati, è più comodo installare un plugin per l'editor:

  1. Apri il pannello Estensioni in VS Code (Ctrl+Shift+X o Cmd+Shift+X).
  2. Inserisci JSON Tree Visualizer nella ricerca.
  3. Clicca sul pulsante Installa.
  4. Apri il file JSON desiderato e invoca il comando Visualize JSON as Tree tramite Command Palette.

Dopo di che, l'editor aprirà il diagramma interattivo nella scheda successiva.

Scenari pratici

Dove questa visualizzazione fa davvero risparmiare tempo:

  • Debug di payload complessi di webhook e integrazioni.
  • Creazione di documentazione API interna per colleghi o clienti.
  • Formazione di sviluppatori junior a leggere strutture dati ad albero.
  • Visualizzazione di file di configurazione con livelli di nidificazione profondi.

Lo script non è appesantito da astrazioni inutili, quindi è facile da incorporare in un pannello di amministrazione interno o in una dashboard di monitoraggio.

Riepilogo

La libreria jsontr.ee fa esattamente una cosa: trasforma rapidamente e in modo pulito JSON in un diagramma SVG leggibile.

La documentazione nel repository è ancora concisa, ma il codice stesso è chiaro senza bisogno di cercare risposte. Se hai regolarmente bisogno di spiegare strutture dati ai colleghi o sei semplicemente stanco di scorrere muri di testo durante il debug delle API, questo strumento vale sicuramente la pena di salvare. Il codice sorgente è aperto sotto licenza MIT su The-01-Company/jsontr.ee su GitHub.

Progetti correlati