Come si presenta davvero un file JSON
Ecco un vero file JSON: due record cliente. Leggilo lentamente una volta, perché ogni concetto di questa guida rimanda a questo esempio.
L'intero file è un array, delimitato da parentesi quadre [ ], che contiene due oggetti. Ogni oggetto, delimitato da parentesi graffe { }, è un record. Dentro un oggetto, i dati vivono in coppie chiave-valore: "id": 101 significa che la chiave "id" contiene il valore 101, e le chiavi sono sempre stringhe tra virgolette.
I valori conservano i loro tipi, ed è uno dei superpoteri del JSON. "Amelia Chen" è una stringa (testo, tra virgolette). 101, 2023 e 4 sono numeri (senza virgolette). true e false sono booleani. null è un esplicito "nessun valore qui", diverso da una stringa vuota: lastNote è null per Amelia, cioè il campo esiste ma non ha valore, mentre il lastNote di Bruno contiene il testo "Call, don't email".
Poi arriva l'annidamento, la ragione per cui il JSON esiste. "address" è un oggetto dentro l'oggetto cliente, con le sue chiavi city e state. "tags" è un array dentro l'oggetto cliente, che contiene due stringhe. Il JSON si annida a profondità arbitraria: oggetti dentro array dentro oggetti, fin dove i dati arrivano. Gli spazi bianchi sono irrilevanti, quindi la versione formattata qui sopra e una versione minificata su una sola riga sono gli stessi dati. Una curiosità utile da conoscere: se una chiave compare due volte nello stesso oggetto, vince l'ultimo valore e il primo va perso in silenzio. Verificato con JSON.parse sulla macchina di build: {"a":1,"a":2} restituisce 2. Succede raramente in pratica, ma quando succede niente ti avvisa.
[
{
"id": 101,
"name": "Amelia Chen",
"email": "amelia@example.com",
"vip": true,
"signupYear": 2023,
"address": { "city": "Austin", "state": "TX" },
"orders": 4,
"tags": ["newsletter", "referral"],
"lastNote": null
},
{
"id": 102,
"name": "Bruno Almeida",
"email": "bruno@example.com",
"vip": false,
"signupYear": 2024,
"address": { "city": "São Paulo", "state": "SP" },
"orders": 1,
"tags": ["newsletter"],
"lastNote": "Call, don't email"
}
]Come si presenta davvero un file CSV
Ora gli stessi due record in CSV. Questo output è stato prodotto dal convertitore di questa pagina a partire dal JSON qui sopra, con l'appiattimento attivo: quello che vedi è esattamente ciò che fa la conversione, non un'illustrazione.
La prima riga è l'intestazione: i nomi delle colonne. Ogni riga successiva è un record, con i valori nello stesso ordine, separati da virgole. Questo è l'intero formato: intestazione, righe, delimitatore. Dieci colonne, due righe, nessun annidamento da nessuna parte.
Ora tutto è testo, ed è la caratteristica distintiva del CSV. 101, true e 2023 sembrano un numero e dei booleani, ma il file non lo sa: sono caratteri, e chi apre il file decide cosa significano. La cella vuota alla fine della riga di Amelia è il suo lastNote null: null è diventato niente. I suoi due tag sono diventati una sola cella, "newsletter; referral", uniti con "; ". E la nota di Bruno è tra virgolette, "Call, don't email", perché contiene una virgola: le virgolette sono il modo in cui il CSV protegge un valore che contiene il delimitatore.
L'oggetto address è diventato due colonne, address.city e address.state. Questo appiattimento in notazione a punti è esattamente ciò che fanno i convertitori, e la nostra guida all'appiattimento spiega in dettaglio l'interruttore che lo controlla. Nota cosa il CSV non può più dire: che city e state appartenevano a un unico oggetto address, o che newsletter e referral erano due tag separati invece di una stringa con un punto e virgola. La forma è andata. I valori restano.
id,name,email,vip,signupYear,address.city,address.state,orders,tags,lastNote
101,Amelia Chen,amelia@example.com,true,2023,Austin,TX,4,newsletter; referral,
102,Bruno Almeida,bruno@example.com,false,2024,São Paulo,SP,1,newsletter,"Call, don't email"Le cinque differenze che contano davvero
Stessi dati, due filosofie. Cinque differenze decidono a quale formato rivolgersi, e spiegano quasi ogni discussione sul "quale usare" che sentirai mai.
Prima, la forma: il JSON è un albero, il CSV è una tabella. Il JSON può contenere un ordine che contiene un cliente che contiene un indirizzo che contiene una lista di articoli, annidandosi in profondità fin dove la realtà arriva. Il CSV ha esattamente un livello: righe e colonne. Tutto ciò che è più profondo va appiattito in colonne in notazione a punti o serializzato in una cella come testo, e in entrambi i casi la struttura originale non c'è più davvero.
Seconda, i tipi: il JSON distingue 2023 il numero da "2023" il testo, e true il booleano da "true" la stringa. Il CSV memorizza caratteri; l'interpretazione avviene dopo, in chi apre il file. Ecco perché la stringa "007" arriva in un CSV come i caratteri 007 (verificato sul convertitore di questa pagina), ma un foglio di calcolo potrebbe comunque mostrarti 7 quando apri il file: il CSV ha conservato il testo fedelmente, ed Excel ha fatto le sue supposizioni sopra. Il formato ha fatto il suo lavoro; il visualizzatore ha aggiunto un'opinione.
Terza, lo schema: il JSON è autodescrittivo. Ogni record porta le sue chiavi, quindi i record possono differire: un cliente può avere un campo "notes" che gli altri non hanno, e il file resta perfettamente valido. Lo schema del CSV vive nella riga di intestazione e presuppone uniformità. Una riga con un valore in più non ha un posto documentato dove metterlo, e dati irregolari, dove le righe portano campi diversi, diventano un rompicapo di allineamento delle colonne invece di un non-problema.
Quarta, la modifica a mano: il JSON punisce i piccoli errori in modo rumoroso. Una virgola o una virgoletta mancante rende l'intero file non valido: fastidioso ma onesto, ed è per questo che esistono i validatori JSON. Il CSV punisce i piccoli errori in silenzio. Una virgola non racchiusa tra virgolette dentro un valore sposta ogni colonna dopo di essa, e il file si apre comunque, solo che è sbagliato. Quando modifichi a mano, un fallimento rumoroso batte una corruzione silenziosa.
Quinta, i produttori: i formati seguono i loro produttori. API, app, database e log emettono JSON perché ragionano in strutture annidate con tipi. Fogli di calcolo, esportazioni aziendali e allegati email sono CSV perché gli umani ragionano in tabelle. Quando qualcuno ti passa un file, il suo formato di solito ti dice da quale mondo proviene, e la conversione è il modo in cui i due mondi si parlano.
Cosa fa davvero la conversione da JSON a CSV
Convertire è appiattire: proiettare l'albero su una tabella. Ogni affermazione di questa sezione è stata verificata sulla macchina di build contro il motore di conversione esatto che gira su questa pagina, quindi queste sono le regole reali, non quelle idealizzate.
Con l'appiattimento attivo, il motore applica sei regole. Gli oggetti annidati diventano colonne in notazione a punti: address.city, address.state. Le liste di valori semplici diventano una cella unita con "; ": newsletter e referral sono diventati "newsletter; referral". Null diventa una cella vuota. Anche una lista vuota diventa una cella vuota, il che significa che null e lista vuota sono indistinguibili dopo la conversione. Un oggetto vuoto diventa il testo letterale {}. Numeri e booleani diventano le loro forme testuali: 2023 diventa i caratteri "2023".
La sesta regola copre il caso scomodo: una lista di oggetti. Non c'è un modo sensato di unire oggetti con un separatore, quindi il motore memorizza la lista come testo JSON dentro la cella, con le virgolette raddoppiate. Testato su un record con un oggetto vuoto, una lista vuota, un null, un annidamento a tre livelli e una lista di oggetti, ha prodotto esattamente questo:
Con l'appiattimento disattivato, il motore resta più semplice e meno utile: ogni valore annidato rimane come testo JSON nella sua cella. Lo stesso oggetto address diventa il testo di cella {"city":"Austin"}, virgolette raddoppiate. Stessi valori, molto meno utilizzabile come tabella. La nostra guida all'appiattimento spiega quando ciascuna impostazione è la scelta giusta.
Un'altra regola silenziosa, e avviene prima ancora che la conversione inizi. Poiché JSON.parse conserva l'ultimo valore quando una chiave si ripete, un record come {"code":"A1","code":"B2"} viene convertito con solo B2. Il primo valore sparisce prima che il convertitore veda i dati. Raro in pratica, da sapere esattamente una volta.
a,b,c,d.e.f,g
{},,,1,"[{""h"":1},{""h"":2}]"Cosa sopravvive al viaggio e cosa no
Cosa sopravvive: ogni valore foglia, come testo. Nomi, numeri, date, note, indirizzi email: tutti presenti nel CSV, tutti corretti. Se la tua domanda è "ho perso qualche informazione che avevo scritto", la risposta è no. Per un foglio di calcolo, una procedura guidata di importazione o una rapida lettura umana, non manca niente di ciò che ti serve.
Cosa non sopravvive: prima i tipi. Il numero 2023 e il testo "2023" sono identici in CSV; anche true e "true" sono identici. Chi legge il CSV farà supposizioni, e le supposizioni variano: Excel trasforma notoriamente il testo "007" nel numero 7 e "1-2" in una data. Secondo, la forma annidata: address.city non sa più di essere mai stato un oggetto, e "newsletter; referral" non sa più di essere stato due tag. Terzo, le chiavi duplicate: sopravvive solo l'ultimo valore. Quarto, la distinzione tra null e lista vuota: entrambi diventano una cella vuota, quindi "nessun valore" e "una lista senza niente dentro" si fondono in una sola cosa.
Questo crea il problema della de-appiattitura: riconvertire indietro è indovinare. "newsletter; referral" erano due tag o una stringa che per caso conteneva un punto e virgola? address.city è mai stato un oggetto, o la chiave si è sempre chiamata letteralmente "address.city"? Un convertitore può tirare a indovinare, ma il CSV non ricorda. La regola pratica: conserva il JSON come fonte di verità e genera il CSV ogni volta che ti serve la vista tabellare. Lo spazio di archiviazione costa poco. Ricostruire la forma, no.
Quale formato dovresti usare?
Scegli il JSON quando i dati hanno una forma o il pubblico è un programma. Dati in entrata o uscita da un'API, un'app o un database. Record annidati o irregolari dove le righe non si assomigliano tutte. Valori i cui tipi devono sopravvivere, come prezzi come numeri e flag come booleani. Log, configurazioni e tutto ciò che il codice elaborerà. Se potresti aver bisogno di ritrovare la struttura in futuro, il JSON è l'unica casa sicura.
Scegli il CSV quando il pubblico è un umano o uno strumento a forma di tabella. Qualcuno lo aprirà in Excel o Fogli Google. Stai inviando dati via email a un collega non tecnico. Lo strumento di destinazione si aspetta righe e colonne: dashboard di BI, procedure guidate di importazione, caricatori di mailing list. I dati sono genuinamente piatti, e vuoi il file più piccolo: misurato sulla macchina di build, 1.000 righe cliente uniformi occupavano 111.433 byte in JSON ma solo 48.473 byte in CSV, meno della metà, perché il JSON ripete il nome di ogni chiave in ogni riga. Per dati annidati il confronto crolla, visto che il CSV non può contenere annidamenti senza soluzioni di ripiego, ma per tabelle piatte il CSV vince sempre sulle dimensioni.
La combinazione pratica a cui arrivano la maggior parte dei team: archiviare e scambiare JSON, esportare CSV su richiesta. Conserva l'originale ricco; genera la copia di lavoro piatta ogni volta che a qualcuno serve. Il convertitore di questa pagina esiste esattamente per quel secondo passo, e la nostra guida ai metodi copre i tre modi affidabili per farlo: il convertitore online, Power Query di Excel e Python.
Passare da un formato all'altro
Da JSON a CSV è il viaggio per cui questo sito è nato: incolla o carica il tuo JSON nel convertitore in cima a questa pagina, senza registrazione, e la conversione gira interamente nel tuo browser così i tuoi dati non lasciano mai il tuo computer. Per lavori ripetibili o automatizzati, la nostra guida alla conversione mostra lo stesso lavoro in Power Query di Excel e in Python.
Da CSV a JSON è il viaggio di ritorno, e arriva con l'onesta avvertenza della sezione precedente: i tipi vanno indovinati sulla via del ritorno, perché il CSV non li ha mai memorizzati. La nostra guida inversa copre la conversione e mostra dove le supposizioni possono sbagliare, così puoi verificarle invece di fidarti.
Guide correlate
- Come convertire JSON in CSV: 3 metodi affidabili (guida 2026)
- Come appiattire JSON in CSV: cosa fa davvero l'interruttore di appiattimento (Guida 2026)
- Come convertire CSV in JSON: 3 metodi affidabili (guida 2026)
- What Does Flattening a JSON Mean? Cosa significa davvero il termine (Guida 2026)
- What is JSON to CSV online: le tre parole spiegate (guida 2026)
- what is JSON to CSV converter online: anatomia dello strumento (guida 2026)
- convert json to csv locally: convertire JSON in CSV sul tuo computer, senza caricare il file (Guida 2026)
- Quali sono i modi per convertire JSON in CSV in locale? 6 metodi a confronto (Guida 2026)
- Il file CSV si apre in un'unica colonna in Excel: perché succede e come correggerlo (Guida 2026)
- Perché il tuo CSV mostra caratteri strani in Excel e come risolvere il problema di codifica (Guida 2026)
- Perché Excel elimina gli zeri iniziali dai codici del tuo CSV e come conservarli (Guida 2026)
- Perché Excel cambia le date del CSV e come mantenerle invariate (Guida 2026)
- Perché salvare un CSV in Excel lo modifica e come tenere al sicuro l'originale (Guida 2026)
- Perché Excel non apre il tuo file CSV troppo grande e cosa fare invece (Guida 2026)
Domande frequenti
JSON e CSV sono la stessa cosa?
No. Il JSON memorizza dati annidati e tipizzati come oggetti e array; il CSV memorizza tabelle piatte come righe di testo. Risolvono problemi diversi: il JSON serve per dati strutturati che i programmi si scambiano, il CSV per tabelle che gli umani aprono nei fogli di calcolo. Li converti tra loro continuamente, ed è per questo che entrambi i formati non muoiono mai.
Un file CSV può contenere dati annidati come il JSON?
Non in modo nativo. Un CSV ha righe e colonne e niente di più profondo, quindi l'annidamento va appiattito (un oggetto address diventa le colonne address.city e address.state) o impacchettato in una singola cella come testo JSON. Entrambe le soluzioni perdono la forma originale, ed è per questo che conservi il JSON ogni volta che l'annidamento conta. La nostra guida all'appiattimento mostra esattamente cosa fa l'interruttore di appiattimento ai dati annidati.
La conversione da JSON a CSV perde dati?
Perde la forma, non i valori. Ogni valore foglia sopravvive come testo, ma i tipi collassano (numeri e booleani diventano testo), l'annidamento si appiattisce in colonne in notazione a punti, le chiavi duplicate conservano solo l'ultimo valore, e null e liste vuote diventano entrambi celle vuote. Per un foglio di calcolo o un'importazione, non manca niente di ciò che ti serve. Per riconvertire indietro in JSON, conserva il file originale.
Cosa occupa meno, un file JSON o un file CSV?
Per dati piatti e uniformi, il CSV è di solito molto più piccolo. Misurato sulla macchina di build: 1.000 righe cliente occupavano 111.433 byte in JSON ma solo 48.473 byte in CSV, meno della metà, perché il JSON ripete il nome di ogni chiave in ogni riga. Per dati annidati il confronto crolla, visto che il CSV non può contenere annidamenti senza duplicarli o serializzarli. Scegli in base alla forma, non alle dimensioni.
Excel può aprire un file JSON?
Non direttamente come foglio di calcolo. Le strade affidabili sono: convertire prima il JSON in CSV e aprire quello, oppure usare Power Query (Dati > Recupera dati > Da file > Da JSON), che importa il JSON in Excel nel modo corretto. La nostra guida alla conversione dei file mostra il percorso Power Query passo dopo passo.
Il JSON è leggibile dall'uomo?
Sì, è testo semplice, e un JSON piccolo e formattato si legge bene. La leggibilità crolla con dimensioni e profondità: un export minificato su una sola riga è tecnicamente leggibile e praticamente ostile. Per file grandi, formatta prima con un formattatore, o converti in CSV e scorri la tabella.
Perché le API restituiscono JSON invece di CSV?
Perché i dati delle API sono raramente una tabella piatta. Le risposte si annidano (un utente ha un indirizzo, che ha coordinate), mescolano tipi (numeri, booleani, null) e variano per record: tutte cose che il JSON gestisce e il CSV no. Il CSV brilla quando i dati sono già una tabella e il pubblico è umano; il JSON brilla quando i dati hanno una forma e il pubblico è un programma.
Trasforma JSON in CSV in un'unica scheda
Ora che conosci entrambi i formati, convertili qui: incolla il JSON, scarica il CSV. Gratis, senza registrazione, gira interamente nel tuo browser.
Apri il convertitore JSON in CSV