Ce este conversia CSV în JSON?
CSV (Valori Separate prin Virgulă, RFC 4180) este un format text plat, tabelar; JSON (Notația Obiectelor JavaScript, RFC 8259) este un format text în formă de arbore pentru date structurate. Conversia CSV în JSON transformă un tabel prietenos cu foile de calcul într-un tablou de obiecte prietenos cu API-urile — un obiect pe rând, cu rândul de antet furnizând cheile — fără a reintroduce niciun singură celulă.
Cum funcționează conversia CSV în JSON?
Fiecare conversie rulează local în browserul tău. Pașii principali sunt:
- Lipești CSV în panoul de intrare și apeși CONVERTEȘTE; instrumentul parsează textul și emite un tablou JSON de obiecte în panoul de ieșire.
- O mașină de stări caracter cu caracter (FIELD_START → IN_UNQUOTED_FIELD sau IN_QUOTED_FIELD) parcurge intrarea, onorează escape-ul de ghilimele citat
"", recunoaște ambii terminatori de rând\r\nși\nși produce un tablou 2-D de șiruri ca reprezentare intermediară. - Dacă primul rând este marcat ca antet, celulele sale devin cheile obiectului; în caz contrar, instrumentul generează chei sintetice
field0,field1, … astfel încât fiecare rând se mapează totuși la un obiect complet. - Delimitatorul (virgulă, punct și virgulă, tabulator, bară verticală sau detectare automată) și coerciția de tip (numere / booleene /
null) sunt configurabile. Cu coerciția activată,30devine numărul 30 șitruedevine boolean; cu ea dezactivată, fiecare celulă rămâne un șir. - Ieșirea este scrisă în textarea doar-citire ca text formatat cu
JSON.stringify, iar un link de descărcare construiește unBlobcu tipul MIMEapplication/json;charset=utf-8, astfel încât să poți salva rezultatul cu un singur click.
De ce să convertești CSV în JSON cu acest instrument?
- Confidențialitate: fiecare pas de parsare și transformare are loc în browserul tău. Datele nu ajung niciodată la serverele noastre.
- Corectitudine: parserul CSV este o mașină de stări reală. Câmpurile care conțin virgule citate (
„Bob, Jr.”), linii noi încorporate și ghilimele escape se parsează într-o singură celulă, nu în trei — implementările naive cusplit(',')greșesc acest lucru. - Fidelitate de tip: coerciția opțională transformă celulele numerice și booleene în numere și booleene JSON reale, astfel încât tabloul pe care îl obții este gata de consumat direct fără un al doilea pas de curățare.
- Flexibilitate: alege orice delimitator pentru dialecte CSV non-virgulă, alege dacă primul rând este un antet și comută coerciția de tip pentru cazurile în care fiecare celulă trebuie să rămână un șir.
Care sunt aplicațiile comune ale conversiei CSV în JSON?
Parsarea CSV în JSON apare în munca cu date și uneltele:
- Simulare API: lipirea unui fixture CSV exportat dintr-o foaie de calcul și convertirea lui într-un tablou JSON pe care serverul tău local îl poate returna ca endpoint simulat.
- Import date: transformarea unui export de foaie de calcul (contacte, inventar, răspunsuri la sondaje) într-un tablou JSON pe care aplicația sau scriptul tău îl poate itera fără o dependență de parser CSV.
- Editare configurații: permiterea revizorilor non-tehnici să editeze setări sau feature flags celulă cu celulă într-o foaie de calcul, apoi convertirea CSV-ului salvat în JSON-ul pe care aplicația ta îl încarcă efectiv.
Cum arată un exemplu de conversie CSV în JSON?
Lipirea name,age pe prima linie, Alice,30 pe a doua și „Bob, Jr.”,25 pe a treia, apoi apăsarea CONVERTEȘTE cu delimitatorul virgulă, primul rând ca chei și coerciția de tip activată, produce [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] — virgula citată din „Bob, Jr.” rămâne în interiorul unui singur câmp, iar vârstele devin numere JSON reale.
Acest convertor CSV în JSON rulează în întregime în browserul meu?
Da. Fiecare pas de parsare și transformare rulează local ca JavaScript în fila browserului tău. Instrumentul nu apelează deloc fetch, XMLHttpRequest sau navigator.sendBeacon — payload-ul tău CSV nu ajunge niciodată la serverele noastre, la un convertor terț sau la vreun pipeline de analiză. Instrumentul funcționează și offline odată ce pagina a fost încărcată, deoarece este un pachet static HTML/CSS/JS fără dependență de API de runtime.
Care este dimensiunea maximă de intrare pe care o poate gestiona acest convertor?
Convertorul stochează întreaga intrare în memorie și rulează sincron pe thread-ul principal, astfel încât limitele practice depind de dispozitivul tău. Intrările de până la aproximativ 10 MB de CSV (aproximativ 100.000 de rânduri tipice) se convertesc fără o pauză vizibilă pe un laptop modern. Dincolo de asta, interfața se poate bloca în timp ce parserul rulează. Conversia în flux folosind un Web Worker plus un parser chunkat este o urmărire planificată — pentru moment, împarte seturile de date foarte mari înainte de a le lipi.
Cum gestionează parserul CSV în JSON virgulele citate și liniile noi încorporate?
Parserul este o mașină de stări caracter cu caracter cu trei stări (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) — nu un split(',') naiv. Un câmp împachetat în ghilimele duble poate conține delimitatorul, un CR, un LF sau o ghilimea dublă literală escape ca "", toate fără a întrerupe limitele câmpului. Astfel, „Bob, Jr.”,25 se parsează în două câmpuri, nu trei, iar o descriere multi-linie citată pe mai multe rânduri se parsează într-o singură celulă.
Cum sunt tipizate numerele, booleenele și celulele goale în ieșirea JSON?
Tipizarea este controlată de comutatorul Coerciție de tip. Cu coerciția activată (implicit), o celulă care arată ca un număr devine un număr JSON, true/false devin booleene, iar literalul null devine null JSON; orice altceva rămâne un șir. Cu coerciția dezactivată, fiecare valoare este păstrată ca șir, indiferent de conținutul său — util atunci când zerourile conducătoare, numerele de telefon sau codurile ID trebuie să supraviețuiască intacte. Celulele finale lipsă într-un rând scurt sunt emise ca șiruri goale, astfel încât fiecare obiect să aibă setul complet de chei.
Ce delimitatori suportă partea CSV?
Sunt suportați patru delimitatori explicite: virgula (,, implicitul RFC 4180), punctul și virgulă (;, comun în localele europene), tabulatorul (\t, dialectul TSV) și bara verticală (|). Poți alege și Detectare automată, care numără aparițiile fiecărui candidat în primii 4 KB de intrare din afara regiunilor citate și alege cel mai frecvent care produce un număr consistent de coloane pe primele cinci rânduri.
Acest convertor CSV în JSON parsează cu o mașină de stări reală și emite JSON curat, gata de consumat, pe care îl poți lipi direct într-un apel API, un script sau o revizuire de cod — fără a încărca niciun singur octet.