Ce este acest instrument?
API-urile și bazele de date returnează de obicei date ca JSON, dar foile de calcul, Excel, Google Sheets și majoritatea instrumentelor de import de date așteaptă CSV. Acest instrument face legătura: lipești un array de obiecte JSON (precum un răspuns API), iar el construiește un CSV cu o coloană per cheie unică și un rând per obiect.
Conversia gestionează detaliile care strică abordările naive: valorile care conțin virgule sau ghilimele sunt escapate corect, câmpurile lipsă devin celule goale în loc să provoace o eroare, iar obiectele sau array-urile imbricate dintr-un câmp sunt serializate ca șir JSON în acea celulă în loc să fie eliminate silențios.
Output-ul respectă regulile de citare din RFC 4180, standardul de facto pentru CSV: orice câmp care conține o virgulă, o ghilimea dublă sau o întrerupere de linie este înfășurat în ghilimele duble, iar ghilimelele din interiorul unui câmp sunt dublate. Asta menține o valoare precum New York, NY într-o singură coloană, în loc să se despartă silențios în două.
De ce să-l folosești?
- Detectare automată a antetelor — lista de coloane este construită din reuniunea cheilor din toate obiectele, deci înregistrările inconsistente nu strică output-ul.
- Escaping CSV corect — valorile cu virgule, ghilimele sau întreruperi de linie sunt citate corect, deci fișierul se deschide curat în Excel sau Google Sheets.
- Gestionează date imbricate — un obiect sau array dintr-un câmp este serializat ca text JSON în loc să provoace o eroare.
- Copiere în clipboard sau descărcare directă ca fișier .csv.
- 100% pe partea de client — datele tale (răspunsuri API, înregistrări exportate) nu sunt niciodată încărcate nicăieri.
Cum se folosește
- Lipește un array JSON de obiecte, de ex. [{"name":"Alice","age":30},{"name":"Bob","age":25}].
- Dă clic pe „Convertește în CSV”.
- Revizuiește output-ul — copiază-l sau dă clic pe „Descarcă CSV” pentru a salva un fișier.
- Deschide fișierul descărcat în Excel, Google Sheets sau orice instrument de foi de calcul.
Exemplu
Intrare
[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]Rezultat
name,age,city
Alice,30,
Bob,,NYCObservă cum „city” și „age” devin ambele coloane, chiar dacă niciun obiect nu le are pe amândouă — valorile lipsă sunt pur și simplu lăsate goale.
Sfaturi practice
- Convertirea unui răspuns API pentru un raport de foaie de calcul: lipește array-ul JSON direct din tab-ul Network al unui browser sau un instrument de testare API, convertește și descarcă — fără script intermediar necesar.
- Lucrul cu înregistrări inconsistente (de ex. câmpuri opționale dintr-un export de formular): detectarea automată a antetelor înseamnă că nu trebuie să reconciliezi manual schemele mai întâi.
- Dacă JSON-ul tău este un singur obiect mare cu un array imbricat înăuntru (de ex. {"users": [...]}), extrage doar porțiunea array (partea [...]) înainte de a o lipi aici.
De ce contează ordinea și completitudinea coloanelor
O eroare CSV subtilă, dar comună apare atunci când datele sunt exportate scriind antetele manual mai întâi și sperând că fiecare rând se potrivește: dacă rândul 50 din 1000 are un câmp suplimentar pe care niciunul dintre rândurile anterioare nu îl avea, un writer CSV naiv linie cu linie fie elimină silențios acel câmp, fie deplasează fiecare coloană ulterioară din aliniere. Acest instrument evită acest mod de eșec scanând mai întâi fiecare obiect din array pentru a construi rândul de antet complet și corect înainte de a scrie o singură linie de output — deci un câmp care apare o singură dată, pe ultimul obiect, primește totuși propria coloană, iar valoarea fiecărui alt rând pentru el arată corect ca goală, în loc să strice structura rândului.
Întrebări frecvente
Funcționează asta cu un singur obiect JSON în loc de un array?
Se așteaptă un array — înfășoară un singur obiect în paranteze pătrate, de ex. schimbă {"name":"Alice"} în [{"name":"Alice"}], și se va converti într-un CSV cu un singur rând.
Ce se întâmplă cu obiectele sau array-urile imbricate dintr-un câmp?
Sunt serializate ca șir JSON în acea celulă (de ex. un câmp care conține {"a":1} devine textul "{""a"":1}" în CSV, escapat corect cu ghilimele) în loc să provoace o eroare sau să fie eliminate. Dacă ai nevoie ca datele imbricate să fie aplatizate în coloane separate, asta necesită un instrument diferit, specific schemei.
Datele mele sunt încărcate pe un server?
Nu. Conversia rulează ca JavaScript complet în browserul tău — nimic nu este trimis nicăieri, ceea ce face acest lucru sigur de utilizat cu date exportate de clienți sau de business.
De ce are CSV-ul meu celule goale?
Dacă unele obiecte din array-ul tău lipsesc o cheie pe care alte le au, acea coloană există, dar celula este lăsată goală pentru obiectele care nu o au — asta păstrează toate datele tale în loc să provoace o eroare pe înregistrări inconsistente.
Valorile cu virgule vor strica CSV-ul?
Nu. Orice valoare care conține o virgulă, un caracter de ghilimele sau o întrerupere de linie este înfășurată automat în ghilimele (cu ghilimelele interne escapate) conform regulilor CSV standard, deci se deschide corect în Excel și Google Sheets.