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

  1. Incollate il vostro JSON Incollate un array di oggetti nel campo di inserimento. Copiare direttamente una risposta di API va benissimo.
  2. 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.
  3. 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 è codificato in UTF-8. Se in Excel i caratteri accentati risultano storpiati, importatelo indicando UTF-8 (con BOM).

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

No, la conversione riguarda soltanto gli array di oggetti ([{}, {}]). Per convertire un singolo oggetto ({}) racchiudetelo in un array, per esempio [{}].

I valori con strutture annidate profonde non vengono appiattiti e sono restituiti come stringhe JSON (per un oggetto, per esempio, {"a":1}). Conviene eliminare l'annidamento prima di convertire in CSV.

Il CSV scaricato è codificato in UTF-8. In Excel usate «Dati» → «Da testo/CSV» e selezionate come codifica UTF-8 (con BOM).
Tool-kun

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.

Curiosità: nella licenza della specifica Crockford inserì la clausola «The Software shall be used for Good, not Evil». Ne nacque un piccolo caso, perché gli uffici legali di grandi aziende come Google e IBM chiesero una licenza formale sostenendo che «non spetta a noi giudicare il bene e il male».