100 % locale — i tuoi dati non lasciano mai il tuo browser

JSON in CSV — aprilo in un foglio di calcolo

Trasforma un array JSON di oggetti in un foglio di calcolo. Le chiavi diventano l’intestazione, pronto per Excel, Numbers o Fogli Google.

Istantaneo Privato Zero cookie
Delimitatore
Inverti: CSV → JSON

Input JSON

Output CSV

Che cosa fa questo strumento

Un array di oggetti diventa righe; le chiavi diventano l’intestazione.

[
  { "nome": "Ada", "nascita": 1815 },
  { "nome": "Alan", "nascita": 1912 }
]
nome,nascita
Ada,1815
Alan,1912

La radice dev’essere un array di oggetti: una tabella è un elenco di record, e un oggetto da solo non ha righe. Avvolgilo in [ ] se intendevi una riga.

Gli identificatori lunghi conservano le cifre

[{ "id": 12345678901234567890 }]

esce con tutte e venti le cifre. I convertitori che analizzano prima il JSON verso un valore JavaScript arrotondano oltre una quindicina — in silenzio, e verso un numero che non corrisponde più alla riga da cui proviene.

Tre ambiguità, dette

Null e stringa vuota sono la stessa cella. null e "" non producono nulla tra i separatori, e nessun lettore li distinguerà poi. Se la differenza conta, CSV è la destinazione sbagliata.

Un valore annidato diventa JSON nella cella. Una cella porta un valore; la tua chiave porta un sottoalbero. Spargerlo su colonne padre.figlio inventate imporrebbe una convenzione che il tuo consumatore non ha mai approvato.

I record irregolari danno un’unione. L’intestazione è ogni chiave incontrata, nell’ordine di prima apparizione; a chi ne manca una tocca una cella vuota. Scartare la colonna, o la riga, perderebbe dati per amore di un rettangolo ordinato.

L’opzione Excel

Excel non legge in modo affidabile un CSV in UTF-8 semplice: indovina la codifica dai byte e quasi sempre sceglie la vecchia code page del tuo sistema — è così che café diventa café.

L’opzione Excel scrive due cose che Excel capisce: un marcatore di ordine dei byte e una riga sep=, iniziale che nomina il separatore. Nessuna delle due è CSV standard — sep= è anzi un’estensione Microsoft che altri lettori mostreranno come prima riga di dati — ed è per questo che è un’opzione da attivare, non il comportamento predefinito.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Perché Excel mostra le mie lettere accentate come caratteri strani?
Perché Excel indovina la codifica dai byte e, senza indizi, sceglie la vecchia code page del tuo sistema anziché UTF-8. L’opzione Excel scrive un marcatore di ordine dei byte e una riga `sep=`, che gli dicono sia la codifica sia il separatore. Non è CSV standard, ed è per questo che è un’opzione e non il comportamento predefinito.
Un CSV può distinguere null da una stringa vuota?
No, e nessuno può. `{"note": null}` e `{"note": ""}` danno entrambi una cella vuota, e rileggere il file non dirà quale fosse. Se quella differenza conta, CSV è la destinazione sbagliata — oppure aggiungi una tua convenzione, un `NULL` letterale per esempio, prima di convertire.
I miei record non hanno tutti le stesse chiavi. Che succede?
L’intestazione è l’unione di tutte le chiavi incontrate, nell’ordine di prima apparizione, e al record a cui ne manca una tocca una cella vuota. Nulla viene scartato perché irregolare: un export in cui solo alcune righe hanno un campo facoltativo è normale.

Convertitori correlati