Vai al contenuto
jsonbeautifiers
Italiano

Informazioni

Ogni strumento qui è una vista su un unico parser JSON, scritto da zero anziché avvolto attorno a JSON.parse. È quella decisione la ragione per cui il sito esiste.

Perché scrivere un parser

Avvolgere il parser integrato è la cosa ovvia, e quasi ogni strumento JSON online lo fa. Ti dà la validazione gratis. Ti dà anche tre problemi che dall’esterno non si possono risolvere.

Gli errori sono inutili. Un parser integrato segnala un problema e si ferma. Ti dà un messaggio scritto per un compilatore, nessun suggerimento su cosa fare e, in diversi runtime, nessun numero di riga. Chi ha un payload rotto ha bisogno del carattere esatto, di cosa ci si aspettava lì e della correzione. Ottenerlo significa possedere la scansione.

Riscrive i tuoi dati. Analizza 12345678901234567890 e riserializzalo: ottieni 12345678901234567000. Nulla ti avverte. Un formattatore costruito così ha cambiato il tuo payload prima di stampare qualsiasi cosa, e per un ID o un importo è un bug serio che non sembra nulla. Il nostro formattatore riemette il testo sorgente di ogni numero, quindi non può accadere. La spiegazione completa è qui.

Non può aiutare con input che è quasi JSON. Virgole finali, apici singoli, letterali Python, commenti, uno spazio unificatore incollato da un client di chat. Per correggerli e spiegare cosa è cambiato bisogna individuarli con precisione, il che di nuovo significa possedere la scansione.

Che cosa ha comprato

  • Errori con riga, colonna, intervallo evidenziato, che cosa ci si aspettava e una correzione.
  • Tutti gli errori di un documento segnalati insieme, anziché uno per tentativo.
  • Numeri che sopravvivono alla formattazione esattamente come li hai incollati.
  • Chiavi duplicate segnalate con la posizione di entrambe.
  • Caratteri invisibili nominati con precisione. Uno spazio unificatore viene segnalato come spazio unificatore alla riga 4, colonna 12, e non come token inatteso.
  • Una modalità di riparazione che sistema il quasi-JSON ed elenca ogni modifica, separando le scelte discrezionali da quelle sicure.
  • Un parser iterativo, quindi la profondità di annidamento è limitata dalla memoria e non dallo stack di chiamate.

Qui la riservatezza è una decisione tecnica, non di marketing

A novembre 2025 due dei più grandi formattatori JSON online hanno esposto oltre 80.000 incollaggi salvati, circa 5 GB accumulati in cinque anni. I dati esposti comprendevano credenziali Active Directory, chiavi di accesso cloud, token di accesso personali e documenti bancari appartenenti a organizzazioni pubbliche, sanitarie e aerospaziali.

Il dettaglio istruttivo non è la fuga di dati. È che uno di quei siti ti dice, in home page, che i tuoi dati vengono validati nel browser, mentre il suo pulsante di caricamento file spedisce il tuo file a un server. Entrambe le affermazioni erano vere, ma su funzionalità diverse, e nessuno leggendo la pagina poteva capire quale fosse quale.

Questo sito non ti chiede quindi di fidarti di una frase. Ogni pagina è servita con un’allowlist connect-src che nomina una sola destinazione, l’endpoint di analytics che conta le visualizzazioni di pagina. Non c’è un endpoint di caricamento, né una funzione per caricare da URL, né link salvati, né account, né pubblicità, perché ognuna di queste cose richiederebbe un’eccezione abbastanza ampia da trasportare il tuo payload. Ecco come verificare tutto da te.

Com’è costruito

  • Pagine statiche, costruite con Astro. Nessun rendering lato server e nessuna API.
  • Il parser, il formattatore, il motore di riparazione, lo scrittore CSV, il parser XML, il diff e il motore JSONPath sono tutti scritti per questo sito, e coperti da una suite di test che gira a ogni build.
  • CodeMirror 6 per l’editor, caricato in modo differito dietro una semplice textarea che funziona da sola. Monaco sarebbe stato circa 5 MB.
  • js-yaml è l’unica dipendenza di terze parti a runtime, caricata solo sulle due pagine YAML. YAML 1.2 è abbastanza vasto che un’implementazione parziale accetterebbe documenti producendo in silenzio valori sbagliati, cioè proprio il modo di fallire che questo sito esiste per evitare.
  • Tutta l’analisi e la formattazione girano in un Web Worker, quindi un documento da 10 MB non congela la scheda.
  • I font sono ospitati qui e ridotti a sottoinsiemi. Nulla viene scaricato da un CDN.

Correzioni

L’argomento del sito è che è scrupoloso sulla correttezza, il che significa che un errore qui pesa più che altrove. Ogni messaggio d’errore citato in questo sito è stato prodotto eseguendo il parser e non ricordato: stringhe V8 da Node v24.15.0 e stringhe Python da CPython 3.14.3. Le stringhe di Firefox e Safari sono deliberatamente assenti perché non abbiamo potuto eseguirle e verificarle.

Se trovi qualcosa di sbagliato, diccelo: verrà corretto e registrato nel registro delle modifiche.

Chi lo mantiene

Questa sezione è deliberatamente vuota anziché riempita con un nome dal suono plausibile. La ricerca per questo sito ha trovato un concorrente il cui markup degli articoli accredita un autore chiamato «Roronoa Zoro», qualifica «Infrastructure Engineer», che è un personaggio di finzione di una serie manga. Inventare una persona per soddisfare un segnale di fiducia è peggio che non avere alcun segnale, quindi qui non c’è nulla finché non ci sarà qualcosa di vero da metterci.