Cosa fa questo convertitore
Questo strumento converte da CSV a JSON e viceversa. Il CSV è il formato di esportazione più comune di fogli di calcolo e database: un record per riga, con i valori separati da virgole (o da punti e virgola, come nei file di Excel in italiano). Il JSON è quello che si aspettano la maggior parte delle API, il codice JavaScript e i database NoSQL.
Se c’è una riga di intestazione, ogni riga del CSV diventa un oggetto JSON e i nomi delle colonne diventano le chiavi. Senza intestazione, ogni riga diventa un array di valori. L’analisi del testo è affidata a Papa Parse, una libreria CSV molto collaudata che gestisce i campi tra virgolette, le virgole dentro le virgolette e gli a capo dentro le celle.
Come si usa
- Scegli Da CSV a JSON (oppure Da JSON a CSV per la direzione opposta).
- Incolla i dati, premi Apri file per caricare un file
.csvo.tsv, oppure premi Esempio. - Imposta le opzioni. Il JSON si aggiorna mentre le cambi:
- Separatore: Rileva, Virgola, Punto e virgola, Tabulazione o Barra verticale.
- Output: 2 spazi, 4 spazi o Minificato.
- Prima riga come intestazione: se è attiva ottieni oggetti con chiavi nominate, altrimenti array.
- Converti numeri e true/false: trasforma
12in un numero etruein un booleano. Se è disattivata, ogni valore resta una stringa. - Salta righe vuote: ignora le righe vuote, che i fogli di calcolo aggiungono spesso in fondo.
- Premi Copia, oppure Scarica per salvare il risultato come file
.json.
La riga di stato mostra quante righe e colonne sono state lette e quale separatore è stato rilevato. Con un file esportato da Excel in italiano, lasciando Rileva il punto e virgola viene riconosciuto senza bisogno di cambiare nulla.
Esempio
Questo CSV, con un nome tra virgolette che contiene una virgola:
id,name,email,city,signup_date,active,orders
1,Ada Lovelace,[email protected],London,2024-03-01,true,12
2,"Hopper, Grace",[email protected],New York,2024-04-17,false,3
diventa:
[
{
"id": 1,
"name": "Ada Lovelace",
"email": "[email protected]",
"city": "London",
"signup_date": "2024-03-01",
"active": true,
"orders": 12
},
{
"id": 2,
"name": "Hopper, Grace",
"email": "[email protected]",
"city": "New York",
"signup_date": "2024-04-17",
"active": false,
"orders": 3
}
]
Le virgolette intorno a “Hopper, Grace” hanno tenuto la virgola dentro il nome. Gli id e il numero di ordini sono diventati numeri, true e false sono diventati booleani, e le date sono rimaste stringhe perché il JSON non ha un tipo data.
Valori che restano testo
Trasformare in numero tutto ciò che somiglia a un numero può rovinare i dati. Questo convertitore lascia un valore come testo quando la conversione lo cambierebbe:
[
{
"name": "Ada",
"zip": "02134",
"phone": "0207 946 0000"
}
]
Il codice postale mantiene lo zero iniziale. La stessa regola vale per gli ID con zeri iniziali e per i numeri interi più lunghi di quelli che JavaScript può memorizzare esattamente. Anche un prezzo scritto con la virgola decimale, come 2,50 in un file con il punto e virgola, resta una stringa, perché non è un numero JSON valido.
Questo riguarda da vicino i file esportati da Excel in italiano. In una prova con le colonne prezzo e cap, il valore 4,50 è rimasto la stringa "4,50" e anche 1.250,00 è rimasto testo. Il CAP 00184 è rimasto una stringa grazie allo zero iniziale, mentre 20121 è diventato il numero 20121. Se vuoi tutti i CAP come testo, disattiva Converti numeri e true/false.
Da JSON a CSV
Premi Da JSON a CSV e incolla un array di oggetti. Ogni chiave che compare in almeno un oggetto diventa una colonna, nell’ordine in cui appare la prima volta. Con Appiattisci oggetti annidati attivo, i dati annidati ricevono nomi di colonna con il punto:
id,name,address.city,address.zip,tags
1,Ada,London,NW1,"[""admin"",""dev""]"
2,Grace,New York,,
Grace non aveva un codice postale, quindi quella cella è vuota. L’array dei tag è stato scritto come testo JSON, con le virgolette raddoppiate come richiede il formato CSV. Un array di array viene scritto riga per riga, senza intestazione. Premi Scarica per salvarlo come file .csv che Excel, Numbers e Fogli Google possono aprire. In questa direzione puoi scegliere il Separatore: se il file deve aprirsi con un doppio clic in Excel in italiano, imposta Punto e virgola.
Quando le righe non tornano
Se una riga ha più o meno valori dell’intestazione, il convertitore produce comunque il JSON e indica il problema con il numero di riga del foglio di calcolo, per esempio “Riga 3: Too many fields: expected 2 fields but parsed 3” (troppi campi: attesi 2, letti 3; il dettaglio arriva dal parser CSV ed è in inglese). La riga 1 è l’intestazione. Una virgoletta aperta e mai chiusa viene segnalata allo stesso modo. Correggi la riga nel tuo file e incollalo di nuovo.
Consigli
- Controlla il JSON con il formattatore JSON, che può anche ordinare le chiavi e minificare.
- Ti serve YAML per un file di configurazione? Converti qui in JSON, poi usa il convertitore da JSON a YAML.
- Per mostrare i dati in un README, il generatore di tabelle Markdown accetta lo stesso CSV o le celle copiate da un foglio di calcolo.
- Disattiva Converti numeri e true/false quando ogni valore deve restare una stringa, per esempio prima di importare i dati in un sistema che assegna i tipi per conto suo.
Altri modi per convertire da CSV a JSON
- Python: il DictReader del modulo csv integrato legge le righe come dizionari, e json.dump le scrive. Per un file di Excel in italiano passa
delimiter=';'. - csvkit: il comando
csvjsonconverte un file CSV in JSON dal terminale. - Excel e Fogli Google non hanno un’esportazione in JSON. Salva prima in CSV, poi convertilo qui.
- jq può lavorare nella direzione opposta, da JSON a CSV, con il suo filtro
@csv.
Tutto avviene nel tuo browser. I file grandi richiedono un po’ più di tempo, e niente viene caricato.