Encoders & Utilities

Convertitore di formati dati

Converti tra JSON, YAML, TOML, XML e CSV. Rilevamento auto, pretty-print ed errori inline. Tutto nel browser.

Informazioni su questo strumento

Data Format Converter traduce tra i cinque formati di configurazione e interscambio dati quotidiani: JSON, YAML, TOML, XML e CSV. Si incolla uno qualsiasi di essi e lo strumento rileva automaticamente il formato di input, lo analizza e lo ri-emette nel formato di destinazione con corretto escape e pretty-printing. Gli errori di parsing sono mostrati inline con riga e colonna così da sapere esattamente cosa correggere.

Ogni formato ha le proprie peculiarità. JSON è il minimo comune denominatore — stringhe, numeri, booleani, array, oggetti. YAML aggiunge commenti, stringhe multi-riga e riferimenti. TOML è JSON con una sintassi di superficie adatta a file di configurazione (sezioni, commenti, date). XML aggiunge attributi e namespace che non si traducono in modo pulito negli altri. CSV è tabellare e fa round-trip solo da e verso la forma "array di oggetti piatti" della sorgente. Lo strumento segnala le conversioni lossy prima di applicarle.

Quando usare questo strumento

  • Migrare file di configurazione. Un chart Helm in YAML da consumare da un modulo Terraform che vuole JSON — incolla e converti.
  • Ispezione rapida del CSV. Incolla un'esportazione di foglio di calcolo, ottieni un array JSON pulito da dare in pasto alla tua test suite.
  • Interop YAML / TOML. Stessi valori di configurazione, preferenze diverse di sintassi di superficie tra i membri del team.
  • Debug di API XML. Convertire la risposta SOAP in JSON per leggerla senza affogare in parentesi angolari.

Sulle conversioni lossy

JSON → YAML e ritorno è lossless per dati semplici. XML → JSON perde la distinzione tra attributi ed elementi figli (mappiamo gli attributi a una chiave @attr, che è una convenzione non uno standard). CSV → JSON richiede che la prima riga siano intestazioni (toggle per questo) e assume record piatti — gli oggetti annidati non sono rappresentabili. Lo strumento avvisa quando il round-trip non sarebbe byte-identico, così da poter scegliere se accettare o scegliere un target diverso.

Domande frequenti

Perché il mio YAML non viene parsato?

YAML è sensibile agli spazi bianchi — i tab non sono ammessi (usare spazi) e l'indentazione deve essere consistente all'interno di un blocco. Errori comuni: due punti senza spazio successivo (key:value contro key: value); mancanza di virgolette attorno a valori che contengono : o #; tab mescolati con spazi. Il messaggio di errore include riga e colonna così da trovare rapidamente il carattere problematico.

Posso convertire XML con attributi?

Sì — gli attributi XML diventano chiavi prefissate con @ quando si converte in JSON / YAML / TOML. <item id="1">text</item> diventa { "item": { "@id": "1", "#text": "text" } }. Questa è una convenzione (usata da Badgerfish, varianti JsonML) — non uno standard unico. La conversione di ritorno in XML ricostruisce la struttura originale. Il contenuto misto (testo ed elementi interfogliati) è il caso lossy; lo segnaliamo.

Come rileva il CSV le intestazioni?

Di default la prima riga non vuota viene trattata come intestazioni e il resto come righe dati. Si può disabilitare — allora ogni riga diventa un array di valori senza chiavi. Per delimitatori esotici (punto e virgola, tab, pipe) auto-rileviamo dalle frequenze di caratteri della prima riga. Il BOM UTF-8 viene rimosso silenziosamente; sia line ending CRLF che LF sono accettati.

I miei dati lasciano la pagina?

No — ogni parser viene eseguito in JavaScript nel browser. Non c'è chiamata di rete, nessun logging, nessuna persistenza. Si può disconnettersi dalla rete prima di incollare config sensibili e lo strumento funziona comunque. Per la massima sicurezza con dati privati, salvare la pagina offline (HTML + JS) ed eseguirla da un file locale.