Convertitore da JSON a CSV
Trasforma un array JSON di oggetti in una tabella CSV, interamente nel tuo browser.
Gira interamente nel tuo browser. Non viene caricato, registrato o salvato niente.
Incolla una risposta di un'API e ottieni una tabella che puoi aprire in un foglio di calcolo. Tutte le chiavi che compaiono in un punto qualsiasi dell'array diventano una colonna, e avviene nel tuo browser, quindi un payload pieno di dati personali non lascia mai la tua macchina.
Come funziona
Il documento deve essere un array di oggetti, perché è questo che è una tabella: un oggetto per riga. Un singolo oggetto viene accettato come tabella di una riga. Qualsiasi altra cosa — un numero da solo, una stringa, un array di stringhe — non ha righe e viene segnalata invece di essere indovinata.
L'intestazione è l'unione di tutte le chiavi dell'array, nell'ordine in cui ciascuna è stata vista per la prima volta, e non semplicemente le chiavi del primo oggetto. Un campo facoltativo che manca nel primo record è esattamente la forma di una risposta di un'API vera, e prendere solo le chiavi della prima riga toglierebbe quella colonna a tutte le righe.
Un oggetto o un array annidati vengono scritti nella loro cella come JSON invece di essere distribuiti su colonne aggiuntive. Appiattire sembra più ordinato e non sopravvive al viaggio di ritorno: due record annidati in modo diverso produrrebbero insiemi di colonne diversi, e una chiave che contenga già un punto diventa indistinguibile da una annidata.
Null diventa una cella vuota, true e false diventano le parole true e false, e i numeri vengono scritti come li scriverebbe JSON, così un valore non cambia forma uscendo.
Esempi
| Caso | Dati inseriti | Risultato |
|---|---|---|
| Una chiave che manca nel primo record riceve comunque una colonna | [{"id": 1}, {"id": 2, "note": "late"}] | id,note 1, 2,late |
Domande frequenti
Perché il mio oggetto annidato compare come JSON in una cella?
Perché appiattirlo non sarebbe reversibile. Se un record annida tre livelli e il successivo ne annida uno, appiattire produce due insiemi di colonne diversi a partire dallo stesso array; e una chiave che contenga già un punto diventa impossibile da distinguere da un percorso annidato. Tenere la struttura nella cella fa sì che riconvertendo tu ottenga quello da cui eri partito.
Excel lo aprirà correttamente?
Dipende più dalla tua configurazione regionale che dal file. Un foglio di calcolo in una configurazione che scrive i decimali con la virgola si aspetta il punto e virgola come separatore, ed è per questo che è nell'elenco dei delimitatori. Se un file separato da virgole si apre come una sola colonna per riga, il motivo è quello.
Il mio array è annidato dentro un oggetto. Perché fallisce?
Perché il documento nel suo insieme non è un elenco di righe. Una risposta di un'API nella forma {"data": [...]} richiede che tu incolli l'array stesso, non l'involucro. L'involucro ha esattamente una riga — sé stesso — e convertirlo produrrebbe una tabella con una cella che contiene tutto.
Il mio documento viene caricato da qualche parte?
No. La pagina carica un piccolo script che converte in locale. Puoi scollegarti dalla rete dopo che la pagina si è caricata e lo strumento continua a funzionare.
Da sapere
- Tutto avviene nel tuo browser. Il documento non viene caricato, registrato o salvato.
- Le virgolette seguono il RFC 4180: un campo viene virgolettato quando contiene il delimitatore, una virgoletta doppia o un a capo, e una virgoletta doppia dentro un campo virgolettato si scrive due volte. Le barre rovesciate sono caratteri normali e non vengono mai trattate come escape.