← Toate instrumentele

Convertor CSV în JSON

Convertește CSV în JSON și JSON în CSV direct în browser. Maparea rândurilor și antetelor se face curat, gestionează câmpuri cu ghilimele și delimitatori, local.

CSV și JSON: două moduri de a transporta aceleași date

Majoritatea datelor tabelare ajung să locuiască într-unul din două formate. CSV este limba nativă a foilor de calcul: un fișier text simplu în care fiecare linie este un rând, iar virgulele separă coloanele. JSON este limbajul API-urilor și aplicațiilor: un format text structurat construit din obiecte (perechi cheie-valoare) și array-uri (liste ordonate). Ele descriu aceeași informație în forme foarte diferite, motiv exact pentru care conversia între ele apare atât de des. Această pagină face acea conversie în ambele direcții, în întregime în browserul tău.

CSV strălucește oriunde o grilă se simte naturală. Exportă un raport dintr-o bază de date, descarcă o listă de comenzi sau salvează o foaie din Excel sau Google Sheets, și aproape mereu obții CSV. Este compact, ușor de citit de oameni, iar orice instrument de analiză de pe pământ îl poate deschide. JSON strălucește oriunde software-ul vorbește cu software-ul. API-urile REST îl trimit și îl primesc, fișierele de configurare îl folosesc, iar JavaScript îl citește fără nicio bibliotecă de parsare. Când trebuie să introduci un export de foaie de calcul într-un API sau să extragi un răspuns API într-o foaie de calcul, de fapt traduci între aceste două lumi.

Tabel luminos de rânduri CSV transformându-se în obiecte JSON imbricate pe un fundal indigo închis
Un tabel CSV plat pliindu-se în obiecte și array-uri JSON imbricate.

Cum devin rândurile și antetele obiecte

Corespondența este mai simplă decât pare. Prima linie a unui fișier CSV este de obicei rândul de antet, iar acele nume de antet devin cheile în JSON. Fiecare rând următor devine un obiect, în care fiecare celulă este asociată cu antetul corespunzător. Întregul fișier devine un array de acele obiecte. Așa că un CSV cu coloanele name,email,age se transformă într-o listă precum [{"name": "Ada", "email": "ada@example.com", "age": "36"}, ...]. În cealaltă direcție, JSON în CSV citește cheile primului obiect pentru a construi linia de antet, apoi scrie un rând pentru fiecare obiect. Este un tur complet curat și predictibil atâta timp cât datele tale sunt cu adevărat tabelare.

Capcanele care merită cunoscute

CSV pare banal, dar ascunde câteva margini ascuțite. Cea mai mare este virgulele în interiorul unui câmp. Dacă o adresă conține „Berlin, Germania", o împărțire naivă după virgule ar rupe acea singură valoare în două coloane. Standardul CSV rezolvă asta încadrând astfel de câmpuri în ghilimele duble, iar ghilimelele din interiorul unui câmp încadrat sunt dublate (""). Un convertor bun respectă aceste reguli, astfel încât datele tale nu se deplasează silențios pe coloane. Fii atent și la delimitator: multe exporturi europene folosesc punct și virgulă în loc de virgulă, pentru că virgula este deja separatorul zecimal acolo. Apar și tab-uri și linii verticale.

Diferența mai profundă este tipurile de date. CSV nu are niciun concept de tipuri de date. Totul este text, deci numărul 42, valoarea booleană true și o celulă goală arată toate ca șiruri de text simple. JSON, în schimb, distinge numere, șiruri, valori booleene, null și structuri imbricate. Când convertești CSV în JSON, valorile ajung ca șiruri, cu excepția cazului în care instrumentul este instruit să interpreteze numere și valori booleene. Convertirea JSON în CSV are problema opusă: obiectele și array-urile imbricate nu se încadrează ordonat într-o grilă plată, deci de obicei sunt aplatizate sau transformate în șiruri într-o singură celulă. Cunoașterea acestui lucru din start te scutește de a te întreba de ce o coloană „arată greșit" mai târziu.

Grilă de foaie de calcul transformându-se într-un arbore luminos de paranteze JSON în cyan și auriu
O grilă de foaie de calcul transformându-se într-un arbore ramificat de paranteze JSON.

Un tur complet real

Iată un scenariu care apare constant. Un coleg îți trimite o foaie de calcul cu utilizatori noi și te roagă să-i încarci printr-un API intern. API-ul acceptă doar JSON. Exporți foaia în CSV, o lipești aici și primești înapoi un array curat de obiecte, gata de introdus în payload-ul cererii tale. Mai târziu, API-ul returnează o listă JSON a înregistrărilor pe care le-a creat, iar tu trebuie să o predai înapoi aceluiași coleg pentru verificare. Lipești JSON-ul, îl convertești în CSV, iar acesta se deschide direct în foaia lui de calcul. Fără scripturi, fără instalări, doar două traduceri rapide în mijlocul unui flux de lucru normal.

Doar local, prin proiectare

Toate acestea rulează în browserul tău. CSV-ul și JSON-ul tău sunt analizate și convertite de JavaScript pe propria ta mașină, iar nimic nu este încărcat pe un server. Asta contează pentru că exporturile conțin adesea nume reale, emailuri, detalii de comandă sau identificatori interni pe care n-ar trebui să-i lipești într-un serviciu la distanță aleatoriu. Aici datele nu părăsesc niciodată pagina. Dacă vrei să ordonezi rezultatul după aceea, formatatorul nostru JSON îl va formata frumos și valida, iar poți explora restul convertoarelor noastre de date pentru formate conexe.

Întrebări frecvente

Datele mele sunt încărcate undeva?

Nu. Conversia rulează în întregime în browserul tău, folosind JavaScript, deci CSV-ul și JSON-ul tău rămân pe propriul dispozitiv și nu sunt niciodată trimise către un server.

Convertorul gestionează virgulele din interiorul câmpurilor?

Da. Câmpurile care conțin virgule ar trebui încadrate în ghilimele duble în CSV, iar parserul respectă acele ghilimele, astfel încât valoarea rămâne într-o singură coloană.

De ce apar numerele mele ca text în JSON?

CSV nu are tipuri de date, deci fiecare celulă este text simplu. Valorile devin șiruri JSON, cu excepția cazului în care se aplică parsarea numerelor și valorilor booleene, pentru că fișierul sursă nu oferă niciun mod de a distinge un număr de un cuvânt.

Ce se întâmplă cu JSON-ul imbricat când convertesc în CSV?

O grilă plată nu poate conține structuri imbricate, deci obiectele și array-urile imbricate sunt de obicei aplatizate sau scrise ca o singură valoare transformată în șir, într-o singură celulă.

Pot folosi punct și virgulă sau tab în loc de virgulă?

Da. Multe exporturi, mai ales cele europene, folosesc puncte și virgulă sau tab-uri ca delimitatori, iar instrumentul le poate citi în loc de virgula standard.

Convertește în ambele direcții?

Da. Poți transforma CSV în JSON și JSON înapoi în CSV, ceea ce face turele complete între foi de calcul și API-uri simple.