Converti tra i formati JSON e CSV.
Tutti i calcoli sono eseguiti localmente nel tuo browser. Nessun dato viene inviato al server.
I risultati hanno carattere informativo. Verificali con altre fonti.
Convertire tra JSON e CSV
Il JSON annida, il CSV è piatto. La conversione è semplice finché i dati sono un semplice array di oggetti con le stesse chiavi, e diventa con perdita nel momento in cui non lo sono più. Sapere dove avviene la perdita è quasi tutta l'abilità.
Come funziona
- JSON → CSV: prende un array di oggetti, usa l'unione di tutte le chiavi come riga di intestazione e scrive una riga per oggetto.
- CSV → JSON: tratta la prima riga come intestazioni e produce un array di oggetti in cui ogni valore è una stringa, salvo richiedere l'inferenza dei tipi.
- Racchiude tra virgolette ogni campo che contenga una virgola, una virgoletta o un a capo, e raddoppia le virgolette interne, secondo la RFC 4180.
regole di quoting CSV (RFC 4180) contiene , " o a capo → racchiudere il campo tra virgolette contiene " → raddoppiarla: " diventa "" Rossi, Marco → "Rossi, Marco" tubo 5" → "tubo 5"""
Esempio pratico
Due record in cui il secondo ha un campo assente nel primo, e un valore che contiene una virgola.
- [{"name":"Ada","city":"Londra"},{"name":"Rossi, Marco","city":"Parigi","role":"dev"}]
- unione delle chiavi → name, city, role
- riga 1 → Ada,Londra, (role è vuoto, non omesso)
- riga 2 → "Rossi, Marco",Parigi,dev
L'intestazione porta tutte e tre le colonne e il role mancante diventa una cella vuota. La virgola dentro "Rossi, Marco" impone le virgolette: senza, la riga guadagnerebbe silenziosamente una colonna.
Come leggere il risultato
- Oggetti e array annidati non hanno equivalente in CSV. O si appiattiscono in nomi di colonna puntati (address.city) o si serializzano come stringa JSON in una cella. Deciderlo prima di convertire, perché il ritorno non è automatico.
- Il CSV non ha tipi. Tutto torna come stringa, e uno zero iniziale in un CAP o in un codice prodotto verrà distrutto da un foglio di calcolo che decida che la colonna è numerica.
- Excel si aspetta un byte-order mark UTF-8 per rendere correttamente i caratteri accentati. Senza, i nomi italiani, polacchi o francesi arrivano corrotti.
- I fine riga differiscono: la RFC 4180 prevede CRLF, mentre gli strumenti Unix emettono LF. Gran parte dei parser accetta entrambi, alcuni no.
Domande frequenti
- Perché sono spariti i miei zeri iniziali?
- È stato il foglio di calcolo, non il convertitore. Excel e Sheets deducono i tipi all'apertura e leggono 00123 come il numero 123. Importa la colonna esplicitamente come testo, oppure anteponi un apostrofo ai valori.
- Come vengono gestiti i campi annidati?
- Questo strumento appiattisce un livello in intestazioni puntate e serializza tutto ciò che è più profondo come testo JSON nella cella. Se i dati sono molto annidati, il CSV è il formato di destinazione sbagliato: la conversione riuscirà tecnicamente e sarà inutilizzabile.