🔧Toolify

Convertitore CSV ↔ JSON (conforme RFC 4180)

Incolla CSV o JSON. Il convertitore analizza CSV conforme a RFC 4180 (gestisce campi citati con virgole, virgolette di escape, valori su più righe). Per la conversione JSON in CSV, accetta sia array-di-oggetti (usa le chiavi come intestazioni) che array-di-array.

Output
[
  {
    "name": "Alice",
    "age": "30",
    "city": "Tokyo"
  },
  {
    "name": "Bob",
    "age": "25",
    "city": "Seoul"
  },
  {
    "name": "Carol",
    "age": "42",
    "city": "Madrid"
  }
]

Come funziona

Perché RFC 4180 è importante

Il CSV sembra semplice ma ha casi limite: un campo contenente una virgola deve essere citato; un campo contenente una virgoletta deve fare l'escape raddoppiando la virgoletta; un campo può contenere newline se citato. I parser naivi che dividono sulle virgole si rompono sui dati del mondo reale. Questo convertitore implementa la grammatica RFC 4180 esattamente.

I parser naivi si rompono anche sulle esportazioni di Excel che usano punti e virgola (comune nelle impostazioni europee dove ',' è il separatore decimale) o tab (TSV). Il menu a tendina del delimitatore gestisce tutte e quattro le varianti comuni.

Forme JSON per l'output

Array di oggetti (predefinito con riga intestazione): ogni riga diventa {colonna: valore}. La forma JSON più comune, facile da consumare in qualsiasi linguaggio.

Array di array (riga intestazione disattivata): ogni riga diventa [v1, v2, ...]. Utile quando le colonne non sono nominate o vuoi una struttura posizionale.

Per la conversione JSON in CSV, il convertitore rileva quale forma hai. Oggetti: estrae le chiavi univoche in tutte le righe come intestazioni. Array: scrive le righe così come sono.

Problemi comuni

Locale Excel: in alcune installazioni europee di Excel, il delimitatore predefinito è ';' non ','. Se il tuo CSV sembra una colonna gigante quando importato, passa a ; nel menu del delimitatore.

BOM (Byte Order Mark): alcune esportazioni di Excel prefissano il file con U+FEFF. Lo lasciamo passare; se il tuo parser downstream fallisce, rimuovi i primi 3 byte.

Newline finale: un CSV che termina con '\n' aggiunge un'ultima riga vuota in alcuni parser; filtriamo automaticamente le righe vuote.

Numeri come stringhe: il CSV non ha tipi — '42' diventa la stringa "42" in JSON. Se hai bisogno di valori tipizzati, esegui un passo di post-elaborazione che coercisce le colonne numeriche note.

Domande frequenti

Gestisce i campi citati con le virgole?

Sì — il quoting RFC 4180 è completamente supportato. "Rossi, Mario" viene analizzato come un singolo campo.

Come vengono gestite le virgolette di escape?

Per RFC 4180, una '"' letterale all'interno di un campo citato è scritta come '""' (due virgolette). Il parser lo gestisce correttamente.

I campi possono contenere newline?

Sì, quando citati. "riga 1\nriga 2" all'interno delle virgolette viene trattato come un campo con newline incorporata.

Supporta BOM (UTF-8)?

Il BOM passa. Se il tuo consumer downstream non lo tollera, rimuovi i primi 3 byte (EF BB BF) dal CSV.

E per i file enormi?

Il browser gestisce qualche MB senza problemi. Per CSV molto grandi (100 MB+), usa un parser in streaming come Papa Parse con un worker, o uno strumento CLI.

I numeri vengono preservati come numeri?

CSV → JSON: tutti i valori diventano stringhe (il CSV non ha tipi). JSON → CSV: i numeri diventano celle CSV senza virgolette. Per ottenere JSON tipizzato, post-elabora le colonne che sai essere numeriche.

Perché il mio JSON mostra stringhe vuote invece di null?

Il CSV rappresenta i valori mancanti come celle vuote. Li mappiamo a stringhe vuote. Per ottenere null in JSON, post-elabora l'output.

I dati lasciano il mio browser?

No. La conversione viene eseguita localmente; nulla viene inviato a un server.

Strumenti correlati

Ultimo aggiornamento:

Prova i nostri prompt IA →