Command Palette

Search for a command to run...

JSON a CSV: trasforma una risposta API in un foglio di calcolo che le persone possono aprire

JSON a CSV: trasforma una risposta API in un foglio di calcolo che le persone possono aprire

T
Toolz Team
|Aug 23, 2026|13 min letto

Parte della raccolta Strumenti per i dati

Metà del mio lavoro su qualsiasi prodotto SaaS è ottenere dati fuori dal sistema e nelle mani di qualcuno che non scrive codice Un fondatore vuole il mese' si iscrive in un foglio di calcolo Un lead di supporto vuole ordinare i biglietti in Excel Un contabile vuole gli ordini come un .csv possono ruotare I dati vivono come JSON, perché è quello che l'API restituisce, e ogni singola volta il compito è lo stesso: trasformare questo array di oggetti in colonne e righe che un essere umano può aprire Mi sono stancato di scrivere script usa e getta per esso, che è esattamente il motivo per cui il Toolz Convertitore da JSON a CSV esiste Questa guida è il modo in cui penso a quella conversione, comprese le parti che fanno inciampare le persone.

tl; dr: Un convertitore da JSON a CSV prende un array di oggetti e lo scrive come righe separate da virgole, una colonna per proprietà, in modo che un foglio di calcolo possa aprirlo Le parti rigide sono record con campi, oggetti nidificati e valori diversi che contengono virgole Un buon convertitore costruisce l'intestazione dall'unione di tutte le chiavi, può appiattire gli oggetti nidificati in colonne con notazione a punti ed escape campi per RFC 4180 Lo strumento Toolz esegue tutte e tre le terminazioni lato client e consente di scegliere il delimitatore e le terminazioni delle righe CRLF in modo che il file si apra in modo pulito in Excel.

mi baserò su Laravel e React, quindi JSON è il mio formato nativo e CSV è la lingua franca in cui esporto L'ingegneria interessante non è il percorso felice in cui ogni oggetto ha le stesse tre chiavi; è la realtà disordinata dei dati di produzione, ed è lì che la maggior parte dei convertitori fa tranquillamente la cosa sbagliata.

Che cosa è un convertitore da JSON a CSV?

Un convertitore da JSON a CSV legge un array di oggetti JSON e produce una tabella: i nomi delle proprietà diventano la riga di intestazione e ogni oggetto diventa una riga di dati sotto di esso Incolla la risposta da un endpoint API, una query di database o un documento esportato e ottieni un file che puoi aprire direttamente in Excel, Fogli Google o Numeri È il ponte tra lo scambio delle macchine di formato e il formato in cui le persone effettivamente lavorano.

L'input ideale è una matrice di oggetti piatti che condividono tutti le stesse chiavi, perché che si mappa perfettamente su una tabella rettangolare I dati reali sono raramente così ordinati Gli oggetti non hanno un campo, i valori nidificano a due livelli di profondità e alcune voci sono array anziché scalari L'intero valore di un convertitore dedicato è che ha una risposta definita e sensata per ciascuno di questi casi invece di lanciare un errore o rilasciare dati Se il tuo JSON viene minificato o vuoi semplicemente ispezionarlo per primo, eseguilo attraverso il Formattatore JSON per prezzarla e convalidarla prima di convertirla.

Come gestisce oggetti con campi diversi?

Questa è la prima cosa che rompe i convertitori ingenui, e vale la pena capirlo perché la produzione JSON non ha quasi mai oggetti uniformi Supponiamo che il tuo array abbia un oggetto con id, name, e email, e il successivo con id, name, e phone. Quali colonne deve avere il CSV?

La risposta corretta è l'unione di ogni chiave su tutti gli oggetti, mantenuta nell'ordine in cui appare per la prima volta ogni chiave Quindi l'intestazione diventa id, name, email, phone, e qualsiasi oggetto mancante di una di quelle chiavi ottiene semplicemente una cella vuota in quella colonna Nulla viene lasciato cadere, e la tabella rimane rettangolare Un convertitore pigro che legge solo le chiavi del primo oggetto perderebbe silenziosamente il phone colonna interamente, portando con sé ogni numero di telefono Il convertitore Toolz esegue la scansione di tutte le righe per creare l'intestazione, quindi i record irregolari si allineano ancora in una tabella pulita e completa. Questo comportamento è la differenza tra un'esportazione di cui ti puoi fidare e una che omette silenziosamente i dati che nessuno nota finché non è troppo tardi.

E gli oggetti e gli array nidificati?

JSON è un albero; CSV è una griglia Appiattire uno nell'altro è il secondo posto convertitori divergere, e la scelta giusta dipende da ciò che si prevede di fare con il file.

Per gli oggetti nidificati hai due opzioni ragionevoli e lo strumento supporta entrambe Con l'appiattimento, un oggetto annidato viene espanso in colonne con notazione a punti, quindi { "address": { "city": "Paris", "zip": "75001" } } diventa un address.city colonna e un address.zip colonna. Questo è ciò che desideri quando i campi nidificati sono dati reali che una persona leggerà e ordinerà. Con l'appiattimento, l'intero oggetto nidificato viene scritto come una stringa JSON compatta all'interno di una singola cella, il che è migliore quando la struttura è opaca e devi solo preservarlo alla lettera.

Gli array ottengono la loro scelta, perché non esiste un unico modo giusto per comprimere un elenco in una cella È possibile memorizzare l'array come JSON, mantenendo ["a","b"] intatto in modo che giri perfettamente, oppure puoi unire gli elementi con un separatore per ottenere più leggibile dall'uomo a; b. Utilizzo JSON quando il file verrà letto da un programma e il formato di join quando una persona è il pubblico e la leggibilità vince La tabella seguente riassume le decisioni.

Forma dell'input Appiattire SU Appiattire OFF
{"user":{"name":"Ada"}} colonna user.name = Ada colonna user = {"name":"Ada"}
{"tags":["x","y"]} (array come JSON) colonna tags = ["x","y"] colonna tags = ["x","y"]
{"tags":["x","y"]} (array uniti) colonna tags = x; y colonna tags = x; y
oggetto mancante di una chiave cella vuota in quella colonna cella vuota in quella colonna

Perché le virgole e le virgolette hanno bisogno di scappare?

Questa è la regola che, ignorata, produce un file che sembra a posto finché qualcuno non lo apre e le colonne sono tutte sbagliate CSV usa la virgola per separare i campi, quindi cosa succede quando un valore contiene una virgola? o una virgoletta doppia? o un'interruzione di riga da una nota a più righe?

RFC 4180la cosa più vicina a uno standard che CSV ha, risponde con precisione a questo: qualsiasi campo contenente il delimitatore, una doppia citazione o un'interruzione di riga deve essere avvolto in virgolette doppie e qualsiasi doppia virgoletta all'interno di quel campo deve essere raddoppiata. Quindi il valore Baker, Smith & Co. è scritto come "Baker, Smith & Co.", e She said "hi" diventa "She said ""hi""". Il convertitore Toolz applica queste regole a ogni cella automaticamente, motivo per cui un indirizzo, un prezzo con un separatore di migliaia o un commento a testo libero sopravvive al viaggio in un foglio di calcolo come un singolo campo intatto invece di frantumarsi in colonne extra.

Come faccio ad aprire il file in modo pulito in Excel?

Penseresti che un CSV sia un CSV, ma Excel su Windows è pignolo su una cosa che cattura le persone: i finali di riga Ottenere questo giusto è la differenza tra un file che si apre perfettamente e uno in cui le righe appaiono unite o divise.

Excel su Windows prevede che ogni riga termini con un ritorno a capo più un feed di riga, la coppia CRLF Se gli consegni un file con desinenze di riga LF in stile Unix, può leggere erroneamente dove si interrompono le righe, specialmente quando un campo citato contiene la propria nuova riga Il convertitore ti consente di scegliere LF o CRLF, quindi scegli CRLF quando il pubblico è Excel su Windows e LF per la maggior parte degli altri strumenti e per Fogli Google, che è soddisfatto di entrambi Puoi anche scegliere il delimitatore: virgola è l'impostazione predefinita, ma il punto e virgola è comune nelle località europee in cui la virgola è il separatore decimale e la scheda o la pipa sono utili quando i tuoi dati stessi sono pieni di virgole Abbinare il delimitatore e la riga che termina alla destinazione è una scelta di cinque secondi che salva un ticket di supporto in seguito.

È sicuro convertire JSON sensibile online?

Sì, perché niente di tutto ciò lascia il tuo browser Ogni parte della conversione, dall'analisi del JSON all'escape di ogni campo all'unione delle righe, viene eseguita in JavaScript sul tuo computer Non c'è caricamento né server, quindi non viene trasmesso, registrato o archiviato nulla Apri la scheda di rete e fai clic su Converti: non vedrai nessuna richiesta uscire e una volta caricata la pagina lo strumento funziona con Internet disconnesso.

Questo non è un dettaglio minore per JSON nello specifico, perché JSON è ciò che le risposte API e i sistemi interni parlano L'array che stai convertendo potrebbe contenere i record degli utenti, i dati degli ordini, i token di accesso o qualsiasi altra cosa restituisca il tuo backend Un convertitore che spedisce il tuo payload a un server remoto trasforma una risposta privata in qualcun altro's log line Fare il lavoro lato client significa che i dati rimangono esattamente dove sono iniziati È l'impostazione predefinita per ogni strumento su Toolz.dev e se vuoi il caso più completo del perché quell'architettura è importante, l'ho impaginata nel guida alla privacy dei dati per gli strumenti online.

Dove si inserisce questo in una vera pipeline?

Da solo il convertitore è un passo, ma di solito è l'ultimo salto di un flusso più lungo, e si accoppia naturalmente con una manciata di altri strumenti Il viaggio di andata e ritorno più comune nella mia settimana è: esporta JSON da un'API, modificalo o filtralo, convertilo in CSV e consegnalo a qualcuno che vive in fogli di calcolo Quando lo rimandano indietro con le modifiche, converto l'altra direzione con il Convertitore CSV a JSON, che analizza il file per RFC 4180 e deduce i tipi in modo da ottenere di nuovo gli oggetti puliti I due strumenti sono specchi deliberati l'uno dell'altro, motivo per cui si reticolano.

Prima di convertire, spesso voglio vedere i dati come una griglia per controllarli e il Visualizzatore CSV rende CSV come una tabella ordinabile in modo da poter confermare che l'esportazione sembra corretta. E quando la destinazione non è affatto un foglio di calcolo ma un altro sistema che parla XML, il Convertitore da XML a JSON e le sue controparti coprono quella gamba Perché ognuno di questi viene eseguito localmente, puoi incatenarli sullo stesso file privato senza un singolo caricamento Se stai mettendo insieme una serie di strumenti di riferimento per questo tipo di dispute sui dati, mio Guida al kit per gli sviluppatori web copre come penso di assemblarne uno.

Domande frequenti

Come converto JSON in CSV? Apri il Convertitore da JSON a CSV, incolla un array JSON di oggetti nella casella di input e fai clic su Converti I tasti oggetto diventano la riga di intestazione e ogni oggetto diventa una riga di dati, quindi puoi copiare il CSV o scaricarlo come a .csv file da aprire in Fogli Excel o Google Tutta l'elaborazione avviene nel browser, quindi non viene caricato nulla.

Quale struttura JSON si aspetta il convertitore? Un array di oggetti è l'ideale, dove ogni oggetto diventa una riga Un singolo oggetto è anche accettato e diventa un file di una riga Valori che non sono oggetti sono posti sotto un value colonna in modo che nulla è perso, e lo strumento ti avverte quando ciò accade.

Come gestisce oggetti con campi diversi? L'intestazione è l'unione di ogni chiave trovata su tutti gli oggetti, mantenuta nell'ordine in cui appare per la prima volta ogni chiave Un oggetto che manca di una di quelle chiavi ottiene semplicemente una cella vuota in quella colonna, quindi i record irregolari producono comunque una tabella pulita e completa senza dati rilasciati.

Come vengono gestiti gli oggetti e gli array nidificati? Con l'appiattimento, un oggetto annidato si espande in colonne con notazione puntiforme come address.city; con esso off, l'oggetto è scritto come una stringa JSON in una cella Gli array possono essere memorizzati come JSON per preservarli esattamente, o uniti con un separatore per una colonna più leggibile Si sceglie per conversione.

Perché dovrei usare le desinenze delle linee CRLF per Excel? Microsoft Excel su Windows prevede il ritorno a capo più il line-feed alla fine di ogni riga La scelta di CRLF evita che le righe vengano unite o lette erroneamente quando si apre il file Per la maggior parte degli altri strumenti e per i Fogli Google, LF funziona correttamente.

Le virgole e le virgolette all'interno dei valori sono sfuggite correttamente? Sì. Seguendo RFC 4180, qualsiasi campo contenente il delimitatore, una virgoletta doppia o un'interruzione di riga è racchiuso in virgolette doppie e le virgolette interne sono raddoppiate. Questo mantiene indirizzi, descrizioni e altro testo libero come un unico campo valido invece di suddividere tra le colonne.

È sicuro convertire JSON sensibile? Sì. La conversione viene eseguita interamente in JavaScript nel browser, nessuna richiesta di rete trasporta i dati, nulla viene registrato o archiviato e funziona offline una volta caricata. JSON contenente chiavi API, record utente o identificatori interni non lascia mai la macchina.

Posso riconvertire il CSV in JSON? si. la Convertitore CSV a JSON inverte il processo, analizzando nuovamente il file separato da virgole in un array di oggetti JSON con inferenza di tipo Il giro consente di spostare i dati tra fogli di calcolo e API senza riscriverli manualmente.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!