Vai al contenuto principale

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

CSV e JSON a confronto sulle proprietà che li separano.
ProprietàCSVJSON
Salvato comeTesto semplice, leggibile in qualsiasi editorTesto semplice, leggibile in qualsiasi editor
Che cosa può contenereRighe e colonneValori annidati dentro altri valori
I numeri restano numeriNo
CommentiNoNo
Più di uno nello stesso fileNoNo
Pubblicato19722001

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.

La pubblicità su questo sito

Questo sito è pagato dalla pubblicità. Gli annunci possono archiviare cookie per scegliere cosa mostrarti e per non ripetersi. I tuoi file non c'entrano nulla: non lasciano mai il browser, qualunque bottone tu prema, e ogni strumento funziona in entrambi i casi.

Che cosa comprende