Da JSON a CSV
Converte in formato CSV un array di oggetti JSON. Comodo quando volete gestire in Excel o in un foglio di calcolo i dati restituiti da un'API REST.
Che cosa fa la conversione da JSON a CSV?
Il JSON restituito da un'API è un formato pensato per le macchine, quindi un foglio di calcolo non riesce ad aprirlo così com'è. Questo strumento legge un array di oggetti JSON e lo converte in CSV, con le chiavi come riga di intestazione e ciascun elemento come una riga. Il risultato si presta a calcoli e ordinamenti in Excel o Fogli Google.
Valgono due presupposti. Il primo: l'input deve essere un array di oggetti — racchiudete un singolo oggetto in un array prima di inserirlo. Il secondo riguarda l'annidamento profondo: quando un valore è a sua volta un oggetto o un array, non viene espanso in colonne ma inserito nella cella come stringa JSON. Un appiattimento preventivo rende il risultato più maneggevole.
Passaggi per convertire JSON in CSV
- Incollate il vostro JSON Incollate un array di oggetti nel campo di inserimento. Copiare direttamente una risposta di API va benissimo.
- Controllate il risultato della conversione Le chiavi diventano la riga di intestazione e ciascun elemento diventa una riga. Verificate che le colonne attese siano presenti.
- Scaricate il CSV La codifica è UTF-8. Se il testo appare illeggibile in Excel, indicate UTF-8 durante l'importazione.
Consigli per sfruttarlo al meglio
- La conversione riguarda gli array di oggetti JSON (
[{}, {}, ...]). I singoli oggetti non sono supportati. - Torna utile quando volete lavorare in Excel o in Google Fogli con i dati restituiti da un'API REST.
- I valori con strutture annidate profonde o gli array non vengono appiattiti: sono restituiti come stringhe JSON (per esempio
{"a":1}). - Il CSV scaricato è in UTF-8 con BOM, quindi anche aprendolo con un doppio clic in Excel i caratteri non risultano storpiati.
Quando la conversione da JSON a CSV torna utile
Elaborare una risposta di API
Convertite in CSV i dati recuperati e potrete elaborarli direttamente con le funzioni del foglio di calcolo o con una tabella pivot.
Condividere con chi non è sviluppatore
Consegnate i dati in forma di tabella a chi non sa leggere il JSON grezzo. Chiedere una revisione o una correzione diventa molto più semplice.
Usare il CSV come formato intermedio per una migrazione
Comodo per convertire i dati diretti verso uno strumento che accetta l'importazione CSV — e moltissimi servizi lo fanno.
Verificare il numero di record e le lacune
In una tabella il numero di righe e le celle vuote si vedono a colpo d'occhio, il che si presta a controllare di avere il numero di record previsto.
I termini di JSON e CSV
- Array di oggetti
- Una struttura che allinea più oggetti nella forma
[{...}, {...}]. Poiché ciascuno corrisponde a una riga di tabella, può essere convertita in CSV. - Chiave
- Il nome che indica un valore all'interno di un oggetto. In CSV diventa un nome di colonna nella riga di intestazione.
- Annidamento
- Una struttura in cui un valore contiene a sua volta un altro oggetto o array. È proprio la parte che non entra ordinatamente in una tabella.
- Appiattimento
- L'espansione delle strutture annidate su un unico livello. Eseguito in anticipo, consente di trattarle come colonne CSV.
- BOM
- Un marcatore dell'ordine dei byte posto all'inizio del file per segnalare la codifica. Si usa quando si vuole che Excel apra correttamente un CSV in UTF-8.
Domande frequenti
[{}, {}]). Per convertire un singolo oggetto ({}) racchiudetelo in un array, per esempio [{}].{"a":1}). Conviene eliminare l'annidamento prima di convertire in CSV.
A proposito — la nascita di JSON: non un'invenzione, una scoperta
JSON (JavaScript Object Notation) fu concepito da Douglas Crockford intorno al 2001. Lui stesso ha raccontato di non aver «inventato JSON, ma di averlo scoperto»: si limitò a standardizzare come formato di scambio dati la notazione letterale degli oggetti già presente in JavaScript.
Dal 2006 circa, con la diffusione di Ajax, JSON si affermò rapidamente: rispetto alla verbosità dell'XML la sua semplicità conquistò gli sviluppatori. All'inizio non mancarono le critiche di chi sosteneva che «JSON non potrà mai sostituire XML», ma oggi è a tutti gli effetti il formato standard delle API REST.
Una piccola curiosità: Crockford accompagnava alcuni dei suoi programmi, come JSMin, con una licenza basata sulla MIT a cui aveva aggiunto una frase: «The Software shall be used for Good, not Evil.» (il software deve essere usato per il bene, non per il male). La specifica JSON in sé (RFC 8259, ECMA-404) non contiene questa clausola. Poiché una condizione che limita l'uso non è compatibile con la definizione di open source, Google non consentì la pubblicazione di JSMin su Google Code, e la versione derivata JSMin-PHP dovette trasferirsi altrove. Nel 2022, inoltre, Crockford ha rilasciato nel pubblico dominio la sua implementazione Java di JSON.