Apri o incolla un file CSV: il JSON compare accanto alle opzioni e si aggiorna mentre le modifichi. Per impostazione predefinita ogni riga diventa un oggetto con i nomi delle colonne come chiavi; scegli un array di array, un oggetto con un array per colonna o JSON Lines se il codice che riceve i dati si aspetta quella struttura. Ogni valore resta una stringa, salvo diversa scelta, quindi 00731 e gli ID di 20 cifre escono esattamente come erano; attiva il riconoscimento dei numeri solo quando una colonna deve diventare numeri JSON e true/false. Per i file di configurazione, Da CSV a YAML scrive le stesse righe in YAML. Il file viene convertito nel browser e non viene mai caricato.
Come convertire un CSV in JSON
- Apri un file
.csv,.tsvo.txt, trascinalo sullo strumento oppure incolla le righe. Il delimitatore e un eventuale BOM UTF-8 o UTF-16 vengono rilevati; in Impostazioni di importazione puoi scegliere un altro delimitatore o una codifica legacy come Windows-1252 o Shift_JIS. - Scegli la Struttura JSON. L’anteprima mostra le prime 200 righe esattamente come saranno nel file scaricato.
- Imposta Tipi di valore, Celle vuote, annidamento e rientro, poi scegli «Scarica JSON» o Copia.
Per convertire molti file con le stesse impostazioni, attiva la conversione multipla e selezionali tutti insieme: i file vengono convertiti uno dopo l’altro e i risultati si scaricano in un unico ZIP.
Struttura del JSON: oggetti, array o JSON Lines
| Array di oggetti | Un oggetto per riga, con le chiavi prese dall’intestazione: [{"sku": "00731", …}]. È la struttura che si aspettano la maggior parte delle API e del codice JavaScript. |
|---|---|
| Array di array | Prima la riga di intestazione, poi ogni riga come elenco. È il risultato più compatto e conserva in modo esplicito l’ordine delle colonne. |
| Oggetto con un array per colonna | {"sku": ["00731", "00732"], …}: comodo per le librerie di grafici e gli strumenti basati su data frame. |
| JSON Lines | Un oggetto JSON per riga (JSON Lines), senza un array che li racchiuda. Adatto a pipeline di log, caricamenti in BigQuery ed elaborazione riga per riga. |
| Tratta tutti i valori come testo | Ogni cella diventa una stringa JSON, esattamente come è scritta nel file. È l’impostazione predefinita. |
| Riconosci numeri e true/false | Una colonna diventa numeri JSON solo se tutti i valori non vuoti sono numeri semplici che superano la conversione senza perdite: niente zeri iniziali, al massimo 15 cifre significative, niente virgola decimale. Le colonne true/false diventano booleani. Le date restano stringhe. |
| Celle vuote | Scrivi "" o null, oppure ometti la chiave in quell’oggetto. |
| Annida i nomi di colonna con il punto | user.name e user.email diventano {"user": {"name": …, "email": …}}. Se un nome è al tempo stesso un valore e un genitore (user e user.name), quelle colonne restano piatte e lo strumento te lo segnala. |
Intestazioni, valori tra virgolette e ID nel JSON
- Virgole, virgolette (
"") e a capo racchiusi tra virgolette all’interno di un valore vengono letti secondo la RFC 4180 e scritti con le normali sequenze di escape delle stringhe JSON (\n,\"). - I nomi delle intestazioni vengono usati esattamente come sono scritti, spazi e alfabeti non latini compresi. Un’intestazione vuota diventa
Column 3, una ripetuta diventaname (2), così nessun valore viene sovrascritto. - Intestazioni come
__proto__oconstructorvengono scritte come normali chiavi. - Una riga con più valori dell’intestazione riceve chiavi aggiuntive chiamate
Column 4,Column 5…; una riga più corta riceve valori vuoti. Non si perde nulla. - Con i tipi attivi,
0012non diventa mai12e un numero d’ordine di 19 cifre non diventa un decimale arrotondato: una colonna del genere resta testo.
Problemi frequenti nella conversione da CSV a JSON
- È tutto in una sola chiave. Il delimitatore è stato riconosciuto male: in Impostazioni di importazione scegli Virgola, Punto e virgola, Tabulazione o Barra verticale e riapri il file. I CSV salvati da Excel in italiano usano spesso il punto e virgola.
- Le lettere accentate appaiono come é. Il file non è in UTF-8. Scegli la sua codifica in Impostazioni di importazione (per i vecchi export di Excel spesso è Windows-1252).
- Una colonna di numeri è rimasta testo. Almeno un valore non è un numero semplice, per esempio
1,5,12 kgo un valore con uno zero iniziale. Cercalo nella colonna con il visualizzatore CSV. - L’errore sulle virgolette indica un record. In quel record si apre una virgoletta che non viene mai chiusa. Correggila nell’editor CSV oppure controlla l’export del sistema di origine.
Limiti e privacy
I file fino a 25 MB, 100.000 righe o 2 milioni di celle si aprono con l’anteprima in tempo reale. I file più grandi vengono convertiti in streaming: il file viene letto due volte a blocchi (una per individuare colonne e tipi, una per scrivere), l’anteprima lascia il posto a un avviso e il file scaricato comprende tutte le righe. Un singolo file in uscita può arrivare al massimo a 4 GB.
La conversione gira in un worker in background in questa scheda del browser, quindi la pagina resta reattiva e Annulla la interrompe. Il CSV non viene mai inviato a un server.
Esempio: un elenco prodotti come oggetti JSON
Un elenco di prodotti con uno SKU a zeri iniziali e una virgola tra virgolette, convertito con le impostazioni predefinite (tutto testo, array di oggetti, rientro di 2 spazi). Con Riconosci numeri e true/false, price diventa 34.9 e in_stock diventa true, mentre sku resta "00731".
sku,name,price,in_stock 00731,"Desk lamp, brass",34.90,true 00732,Cable tidy,4.50,false
[
{
"sku": "00731",
"name": "Desk lamp, brass",
"price": "34.90",
"in_stock": "true"
},
{
"sku": "00732",
"name": "Cable tidy",
"price": "4.50",
"in_stock": "false"
}
]Domande frequenti
Perché per impostazione predefinita i numeri sono tra virgolette?
Perché il CSV non ha tipi: 00731, 1.50 e 2024-03-01 sono semplicemente testo. Tenerli come stringhe garantisce che il JSON dica esattamente ciò che diceva il file. Attiva il riconoscimento dei numeri quando sai che una colonna contiene quantità.
Posso riconvertire un JSON in CSV qui?
Non ancora. Questa pagina converte solo da CSV e TSV a JSON.
JSON Lines e NDJSON sono la stessa cosa?
In pratica sì: entrambi indicano un valore JSON completo per riga, con le righe separate da caratteri di a capo.