CSV (Comma-Separated Values, valori separati da virgola) è il formato di testo per dati tabulari più universale, quasi tutti i software per fogli di calcolo (Excel, Google Sheets, Numbers, WPS) supportano l'importazione/esportazione di CSV, è anche uno dei formati più usati per scambio dati, importazione/esportazione batch. JSON (JavaScript Object Notation) è il formato di scambio dati più usato nelle API Web e nella programmazione moderna. Convertire CSV in JSON è un'esigenza molto frequente nello sviluppo: quando ricevi un CSV esportato da Excel da product/operatori devi convertirlo in JSON per le API, quando esporti CSV da database devi convertirli in JSON per dati mock, durante la migrazione dati i CSV devono essere importati in database documentali come MongoDB... un buon strumento di conversione può risparmiare molto tempo nel concatenare JSON manualmente.
CSV sembra semplice — campi separati da virgola, righe separate da a capo — ma in realtà ci sono molte insidie: cosa fare se un campo contiene una virgola? Cosa fare se un campo contiene un a capo? Come si escapano le virgolette? I CSV esportati da paesi diversi potrebbero anche usare il punto e virgola come separatore (in Europa perché si usa la virgola come separatore decimale), la tabulazione come separatore (formato TSV). Se non gestisci questi problemi i dati parsati saranno sbagliati. Questo strumento implementa il parser seguendo lo standard CSV RFC 4180, gestisce correttamente casi limite come campi tra virgolette, escape virgolette doppie, virgole/a capo all'interno di campi, non è un semplice string.split(','), il risultato è accurato e affidabile.
Il riconoscimento automatico del separatore è una funzionalità molto pratica. Molti sviluppatori quando ricevono un file CSV come prima reazione usano split(','), ma l'esportazione predefinita di Excel europeo usa il punto e virgola (;) come separatore, fare split direttamente sulla virgola tratterebbe l'intera riga come un solo campo; i file TSV usano la tabulazione come separatore, split sulla virgola sarebbe completamente sbagliato. Lo strumento conta le occorrenze di virgola, punto e virgola, tabulazione in ogni riga, determina automaticamente il separatore più probabile e converte uniformemente, non ti devi preoccupare dell'origine del file, basta incollare.
La riparazione intelligente degli errori è la funzionalità principale che distingue questo strumento da semplici strumenti online. Nel lavoro pratico i CSV che ricevi spesso non sono standard: alcune righe hanno un numero di colonne sbagliato (troncate durante la copia-incolla, virgole in più nel mezzo), alcune virgolette non sono chiuse (problemi di esportazione), alcuni usano separatori misti, un parsing diretto fallirebbe o darebbe risultati sbagliati. Lo strumento quando incontra questi problemi non rifiuta direttamente la conversione, ma: ① elenca tutti i numeri di riga e i motivi di errore; ② fornisce un pulsante di riparazione con un clic per riempire automaticamente colonne vuote/troncare/aggiungere virgolette; ③ anche se ci sono avvisi cerca di outputtare un risultato JSON utilizzabile, non fa fallire la conversione dell'intero file per un errore in una riga.
La doppia modalità output formattato/compresso corrisponde a diversi scenari d'uso: durante il debug di sviluppo, la lettura usa la modalità formattata — rientro 2 spazi, livelli chiari, vedi la struttura dell'oggetto a colpo d'occhio; quando usato in produzione, risposta API, file di configurazione usa la modalità compressa — rimossi tutti gli spazi e a capo, dimensioni più piccole e trasmissione più veloce. L'interruttore cambia e renderizza istantaneamente, non devi riconvertire.
Perché l'elaborazione completamente locale è importante? I file CSV contengono spesso dati aziendali reali, informazioni di clienti, dati di prodotto non pubblici e altri contenuti sensibili, se caricati su server di conversione terzi c'è rischio di fuga di dati. In questo strumento tutta la logica di parsing e conversione viene eseguita in JavaScript locale nel browser, il file viene elaborato solo nella memoria del tuo computer, non ci sono richieste di rete, funziona anche senza connessione, risolve radicalmente il problema della sicurezza dei dati. L'elaborazione locale ha anche un vantaggio di velocità — file di pochi MB convertiti istantaneamente, non devi aspettare upload e download.
I pannelli separatori trascinabili e la cronologia locale sono dettagli ottimizzati per l'uso frequente: quando elabori tabelle larghe puoi allargare l'area di input, quando ti concentri sul risultato puoi allargare l'area di output; il CSV che non hai finito di elaborare l'ultima volta viene ripristinato automaticamente alla prossima apertura, non devi andare a cercare nuovamente il file tra email/cronologia chat per ricopiarlo. Il passaggio diretto con un clic allo strumento di formattazione JSON tiene conto del flusso di lavoro reale — dopo aver convertito in JSON di solito hai bisogno di formattare, validare, comprimere, passare direttamente senza ricopiare e aprire nuove pagine.
È importante specificare: ① Tutti i valori CSV sono convertiti uniformemente in tipo stringa, questa è una scelta intenzionale — CSV non ha informazioni di tipo, la conversione automatica in numero/booleano potrebbe causare errori (es. CAP 00123, numeri di carta d'identità perderebbero gli zero iniziali), se hai bisogno di conversione di tipo gestiscila nel codice; ② Attualmente supporta solo la conversione unidirezionale CSV→JSON, per JSON→CSV usa lo strumento corrispondente di questo sito; ③ File molto grandi (>10MB, milioni di righe) si consiglia di usare strumenti da riga di comando (es. csvtojson, jq), questo strumento è pensato per scenari di debug di sviluppo, fino a poche decine di migliaia di righe è completamente fluido nell'uso quotidiano.