Vai al contenuto
Case Converter Online
it

Convertitore da CSV a JSON

Incolla un CSV o apri un file .csv e ottieni un array JSON mentre scrivi. Il separatore viene rilevato da solo, anche il punto e virgola, e puoi convertire anche da JSON a CSV.

Incolla un CSV o premi Esempio. I tuoi dati restano nel tuo browser.

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

  1. Scegli Da CSV a JSON (oppure Da JSON a CSV per la direzione opposta).
  2. Incolla i dati, premi Apri file per caricare un file .csv o .tsv, oppure premi Esempio.
  3. 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 12 in un numero e true in 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.
  4. 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 csvjson converte 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.

Da CSV a JSON: domande e risposte

Perché il mio CAP nel JSON è ancora tra virgolette?

È voluto. Un valore come 00184 perderebbe lo zero iniziale se diventasse un numero, quindi i valori con zeri iniziali restano testo. Lo stesso vale per i numeri interi troppo grandi per essere memorizzati esattamente, come gli ID lunghi. I numeri normali come 12 o 3.5 diventano numeri JSON.

Il mio file usa il punto e virgola. Funziona?

Sì. Con Separatore impostato su Rileva, il convertitore cerca virgole, punti e virgola, tabulazioni e barre verticali e sceglie quello giusto. Excel in italiano, come i fogli di calcolo di molti paesi europei, salva i CSV con il punto e virgola perché la virgola serve per i decimali. La riga di stato ti dice quale separatore ha trovato.

Come vengono gestiti gli oggetti annidati da JSON a CSV?

Con Appiattisci oggetti annidati attivo, un oggetto annidato diventa più colonne con nomi separati da un punto, come address.city. Gli array vengono scritti come testo JSON dentro una sola cella. Ogni chiave che compare in almeno un oggetto diventa una colonna.

I miei dati vengono caricati?

No. Il file viene letto e convertito nel tuo browser con Papa Parse. Niente viene inviato a un server, quindi puoi usarlo anche per elenchi di clienti e altri dati riservati.

Altri strumenti per codice e dati

Vedi tutti gli strumenti