Skip to main content

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.

  1. [{"name":"Ada","city":"Londra"},{"name":"Rossi, Marco","city":"Parigi","role":"dev"}]
  2. unione delle chiavi → name, city, role
  3. riga 1 → Ada,Londra, (role è vuoto, non omesso)
  4. 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.