Convertitore da JSON a CSV - appiattire dati annidati
Convertitore da JSON a CSV
Cosa fa questo strumento
Qualcuno ti ha mandato una risposta di API e qualcun altro la vuole in un foglio di calcolo. Il lavoro è tutto qui, ed è più difficile di quanto sembri: JSON è un albero, un foglio di calcolo è una griglia. Questa pagina prende le tre decisioni che trasformano l’uno nell’altro, e ti mostra cosa ha deciso.
Come si usa
- 1 Incolla il JSON, o trascina un file .json.
- 2 Scegli il separatore: punto e virgola se il file è per Excel.
- 3 Premi Converti, poi copia il risultato o scarica il .csv.
Un albero non entra in una griglia, quindi viene appiattito
Un oggetto annidato diventa una colonna puntata: {"city":{"name":"London"}} diventa la colonna city.name. Senza questo un convertitore scrive «[object Object]» nella cella: il file si apre, sembra valido, e metà dei tuoi dati non c’è. Le liste di valori semplici vengono unite in una cella; quelle di oggetti ottengono colonne numerate.
[
{
"name": "Ada",
"city": { "name": "London" },
"note": "Loves \"tea\""
},
{
"name": "Grace",
"city": { "name": "New York, NY" },
"tags": ["math", "navy"]
}
]
name,city.name,note,tags Ada,London,"Loves ""tea""", Grace,"New York, NY",,math; navy
Le colonne vengono da tutte le righe, non dalla prima
Nei dati veri i record raramente hanno gli stessi campi: uno facoltativo compare al quarantesimo record e mai prima. Un convertitore che legge solo il primo record elimina quella colonna in silenzio, e nulla nell’output lo dice. Qui l’intestazione è l’unione di tutte le chiavi incontrate, nell’ordine in cui appaiono, e i campi mancanti diventano celle vuote.
Una sola virgola vagante sposta tutte le colonne
Ogni valore che contiene il separatore, una virgoletta o un a capo va racchiuso tra virgolette, e le virgolette interne raddoppiate. È ciò che chiede lo standard CSV ed è il punto in cui i convertitori sbagliano più spesso. Un indirizzo con una virgola, un commento con un a capo, un nome con un apostrofo: ognuno rompe in silenzio un file che salta questo passaggio.
Excel rovina i file CSV in due modi diversi
Primo: senza il byte-order mark legge l’UTF-8 come la code page locale, e le lettere accentate e non latine diventano poltiglia. Secondo: in molte localizzazioni si aspetta un punto e virgola invece della virgola, e stipa ogni riga in una sola colonna. Qui sono entrambe opzioni e sono entrambe disattivate: lo standard dice virgola e nessun marchio, e il file di solito va a uno script, non a un foglio di calcolo.