Convertitore CSV ↔ JSON

RSS

Converti CSV da fogli di calcolo in array JSON o riporta il JSON in CSV, con rilevamento automatico del delimitatore. I dati restano nel tuo browser.

Funziona al 100% nel tuo browser. Nulla di ciò che incolli viene caricato o salvato.
Input CSV o JSON
Risultato
Pronto.

Come usare il convertitore CSV ↔ JSON

  1. Seleziona la direzione: CSV → JSON oppure JSON → CSV.
  2. Incolla i tuoi dati. Per il CSV, la prima riga viene trattata come riga di intestazione e il delimitatore viene rilevato automaticamente.
  3. Controlla l'output. Attiva la conversione dei tipi se vuoi numeri e booleani al posto delle stringhe.
  4. Copia il risultato o incollalo nel tuo codice, nella richiesta API o nel foglio di calcolo.

Tutta l'analisi avviene nel tuo browser. I dati del tuo foglio di calcolo non vengono caricati né salvati da nessuna parte, il che rende lo strumento sicuro per elenchi di clienti ed esportazioni interne.

Come il CSV viene mappato in JSON

Il CSV (valori separati da virgola) è una tabella piatta: un record per riga, campi separati da un delimitatore. Quando è presente una riga di intestazione, ogni intestazione diventa una chiave e ogni riga successiva diventa un oggetto JSON. L'intero file diventa un array di oggetti:

id,name,city
1,Ada,London
2,Linus,Helsinki
[
  {"id": "1", "name": "Ada", "city": "London"},
  {"id": "2", "name": "Linus", "city": "Helsinki"}
]

La conversione da JSON a CSV funziona al contrario: il convertitore raccoglie le chiavi degli oggetti per formare la riga di intestazione, poi scrive una riga per oggetto. Gli oggetti a cui manca una chiave ottengono una cella vuota.

Rilevamento automatico del delimitatore

Nonostante il nome, i file "CSV" usano spesso altri separatori. I programmi di fogli di calcolo nelle impostazioni regionali che usano la virgola come separatore decimale esportano di solito con il punto e virgola, e molti strumenti per database esportano valori separati da tabulazione (TSV). Il convertitore esamina le prime righe e sceglie il delimitatore (virgola, punto e virgola, tabulazione o pipe) che divide le righe in un numero coerente di colonne.

Campi tra virgolette (RFC 4180)

RFC 4180 è la cosa più vicina a uno standard che il CSV abbia. Le regole principali: un campo che contiene il delimitatore, un doppio apice o un a capo deve essere racchiuso tra doppi apici, e un doppio apice all'interno di un campo tra virgolette si scrive raddoppiandolo.

name,comment
"Smith, John","He said ""hello"""
"Lee","Line one
Line two"

Questo produce due record, il primo con il nome Smith, John e il commento He said "hello", e il secondo con un commento che contiene un vero a capo.

Insidie comuni

Il JSON annidato non entra in una tabella piatta

Il CSV non ha il concetto di annidamento. Gli oggetti annidati di solito vengono appiattiti con la notazione a punti, ma gli array non hanno un'unica rappresentazione ovvia:

{"id": 1, "address": {"city": "Oslo", "zip": "0150"}, "tags": ["a", "b"]}

id,address.city,address.zip,tags
1,Oslo,0150,"[""a"",""b""]"

Gli array vengono serializzati come testo JSON dentro una cella. Se i tuoi dati sono molto annidati, valuta se il CSV sia davvero la destinazione giusta.

La conversione dei tipi può distruggere i dati

Ogni valore CSV è testo. La conversione automatica dei tipi è comoda, ma trasforma CAP come 0150 in 150, i numeri di telefono in numeri e gli ID lunghi in valori arrotondati (i numeri JavaScript sono esatti solo fino a 253). Lascia disattivata la conversione dei tipi per le colonne di identificativi.

Byte order mark e fine riga

I file salvati da Excel come "CSV UTF-8" iniziano con un byte order mark (BOM) invisibile che può finire attaccato al nome della prima intestazione. L'RFC 4180 prevede i fine riga CRLF, ma i file con solo LF sono comuni e in genere accettati.

Consigli

  • Assicurati che i nomi delle intestazioni siano univoci; le intestazioni duplicate si sovrascrivono a vicenda come chiavi JSON.
  • Elimina gli spazi dopo i delimitatori (a, b) se la tua fonte li aggiunge, altrimenti diventano parte del valore.
  • Convalida il JSON ottenuto con il Formattatore e validatore JSON, oppure trasformalo in YAML con il Convertitore JSON ↔ YAML.

Domande frequenti

E se il mio CSV non ha una riga di intestazione?

Senza intestazioni non ci sono nomi di chiave naturali. I convertitori allora restituiscono un array di array oppure generano chiavi segnaposto come column1, column2. Aggiungere prima una riga di intestazione dà un JSON più pulito.

Perché tutti i miei numeri sono stringhe?

Il CSV memorizza tutto come testo, quindi una conversione fedele mantiene le stringhe. Attiva la conversione dei tipi per ottenere numeri, true/false e null, ma fai attenzione ai valori che sembrano numerici solo in apparenza.

Posso convertire un oggetto JSON invece di un array?

Un file CSV rappresenta molte righe, quindi l'input naturale è un array di oggetti. Un singolo oggetto diventa una riga di dati. Se i tuoi record sono racchiusi in una proprietà come {"data": [...]}, incolla l'array interno.

Come apro correttamente il CSV in Excel?

Usa la funzione di importazione dati di Excel invece del doppio clic, così puoi scegliere il delimitatore e la codifica e impostare le colonne di ID come testo per mantenere gli zeri iniziali.

Aggiornato

Copiato negli appunti