CSV vs JSON
CSV e JSON sono entrambi molto usati e vengono scelti per ragioni diverse. Questa pagina li mette a confronto sulle cose che decidono fra l'uno e l'altro, e rimanda ai convertitori per entrambe le direzioni — ognuno dei quali gira nel tuo browser, senza che il file venga mai caricato.
La risposta breve
Il CSV è righe e colonne e nient'altro. Il JSON è valori dentro valori, a qualsiasi profondità. Se i tuoi dati sono davvero una tabella — un record per riga, gli stessi campi ogni volta — il CSV è più piccolo, si apre in ogni foglio di calcolo ed è leggibile da chiunque. Nel momento in cui un record ha bisogno di una lista al suo interno, o di un oggetto annidato opzionale, il CSV comincia a richiedere convenzioni che il formato stesso non può far rispettare.
La seconda differenza sono i tipi. Il JSON distingue il numero 42, la stringa \"42\" e il booleano true. Il CSV conosce solo testo, ed è per questo che uno zero iniziale sparisce da un codice postale e che un numero lungo diventa notazione scientifica quando un foglio di calcolo indovina male. Se i valori devono sopravvivere intatti a un viaggio di andata e ritorno, il JSON è quello che può prometterlo.
In pratica la scelta te la fa spesso ciò che c'è dall'altra parte. Un foglio di calcolo vuole CSV, un'API vuole JSON, e discutere con l'uno o con l'altra è più lavoro che convertire. Dove puoi scegliere, la domanda da porsi è se qualcosa nei dati prima o poi avrà bisogno di una lista dentro un record: è quello il punto in cui il CSV smette di bastare.
Fianco a fianco
| Proprietà | CSV | JSON |
|---|---|---|
| Salvato come | Testo semplice, leggibile in qualsiasi editor | Testo semplice, leggibile in qualsiasi editor |
| Che cosa può contenere | Righe e colonne | Valori annidati dentro altri valori |
| I numeri restano numeri | No | Sì |
| Commenti | No | No |
| Più di uno nello stesso file | No | No |
| Pubblicato | 1972 | 2001 |
Dove differiscono davvero
- Possono esprimere forme diverse. JSON contiene valori dentro valori a qualsiasi profondità; l'altro è righe e colonne, e l'annidamento va simulato con convenzioni che non può far rispettare.
- Solo JSON sa che tipo di valore sta contenendo. Nell'altro tutto è testo, ed è per questo che gli zeri iniziali svaniscono e i numeri lunghi diventano notazione scientifica.
- Li separano 29 anni, e gran parte di ciò che li distingue è quanto si era imparato nel frattempo.
Cosa si sbaglia di solito
- Convertire verso il formato senza tipi trasforma ogni valore in testo. Gli zeri iniziali spariscono, i numeri lunghi diventano notazione scientifica e le date tornano nella forma che il programma di lettura indovina.
Quale scegliere
- Scegli CSV quando
- Scegli il CSV per dati tabellari destinati a un foglio di calcolo, e dove il destinatario può essere una persona anziché un programma.
- Scegli JSON quando
- Scegli il JSON per tutto ciò che è annidato, per tutto ciò che ha campi opzionali e per tutto ciò in cui un numero deve restare un numero.
Convertire dall'uno all'altro
Domande frequenti
- Perché convertendo CSV in JSON tutti i miei numeri finiscono fra virgolette?
- Perché il CSV non porta tipi, quindi un convertitore non può sapere se 007 sia un numero, una stringa o un codice prodotto. Indovinare corromperebbe in silenzio certi file, cosa peggiore del mettere le virgolette. Dove un convertitore offre di dedurre i tipi, quell'opzione fa esattamente questo tirare a indovinare, e conviene controllare il risultato prima di farci affidamento.
- Fra CSV e JSON, quale è meglio?
- Nessuno dei due, in generale: se uno fosse semplicemente migliore, l'altro sarebbe sparito. Sono bravi in cose diverse, e la risposta breve qui sopra dice quale in quale. La domanda utile è cosa deve fare il file dopo: essere modificato, essere pubblicato, essere aperto da qualcun altro, o stare dentro un limite di dimensione.
- Convertire dall'uno all'altro fa perdere qualcosa?
- Dipende dalla direzione. Convertire verso un formato che conserva tutto non perde nulla ma non recupera nemmeno nulla; convertire verso uno che scarta dettaglio ne perde un po' ogni volta. La tabella qui sopra dice quale dei due fa cosa.
- Posso riconvertire indietro?
- Il file si riconverte, ma se torni indietro invariato dipende dalla direzione. Fra due formati che conservano tutto, un viaggio di andata e ritorno è senza perdita. Dove uno dei due scarta dettaglio, quel dettaglio è andato e il viaggio di ritorno non può inventarlo.
- Posso usarli entrambi?
- Su una pagina web spesso sì, ed è di solito la risposta giusta: servi il formato moderno più piccolo ed elencane uno più vecchio come ripiego, così ogni browser prende ciò che comprende. Per un file che consegni a una persona, scegline uno: quello che riuscirà ad aprire.
- Quale supporta il mio software?
- La tabella fianco a fianco qui sopra dice quali browser leggono ciascuno, che è la parte che varia di più. Il supporto dei programmi da scrivania è più difficile da riassumere in generale e tende a stare anni indietro ai browser, quindi se il file va a qualcun altro il più vecchio e più diffuso dei due è la scelta più sicura.
- Convertire fra i due è gratis?
- Sì, senza account e senza limiti su quanti file converti. Ogni convertitore collegato da questa pagina gira nel tuo browser: il file viene letto dal tuo dispositivo, convertito da codice che gira su di esso e restituito come download.
- Il mio file viene caricato?
- No. Qui non esiste alcun server di conversione a cui caricarlo, e non è coinvolto alcun servizio di terze parti. Puoi verificarlo tu stesso: apri gli strumenti per sviluppatori del browser, passa al pannello Rete senza filtri ed esegui una conversione — nessuna richiesta porta con sé il tuo file.