Convertor gratuit

CSV la Convertor JSON

Convertiți datele sau fișierele CSV în format JSON instantaneu în browser. Acceptă delimitatori personalizați, detectarea antetului și formatare destul de bună.

Selectați fișierul CSV

sau trageți și plasați aici

Sau

Despre acest instrument

CSV (valori separate prin virgulă) și JSON (JavaScript Object Notation) sunt ambele formate omniprezente de schimb de date, dar descriu datele în mod diferit. CSV este plat și tabelar: un rând de antet definește numele câmpurilor, iar fiecare rând ulterior conține valorile unei înregistrări. JSON este ierarhic: datele sunt structurate ca obiecte (perechi cheie-valoare) și matrice, acceptând imbricarea și tipuri mai bogate. Convertirea CSV în JSON înseamnă de obicei transformarea fiecărui rând CSV într-un obiect JSON ale cărui chei provin din rândul antet și ale cărui valori sunt celulele rândului.

Acest convertor analizează CSV folosind PapaParse, cea mai fiabilă bibliotecă CSV din ecosistemul JavaScript. PapaParse se ocupă de ciudateniile care fac CSV înșelător de greu: câmpurile ghilimele care conțin virgule, ghilimele escape în câmpurile ghilimele, sfârșiturile de rând mixte, marcatorii BOM opționali și câmpurile care conțin linii noi. Ieșirea este JSON structurată, formatată cu indentare în două spații în mod implicit pentru lizibilitate.

Sunt acceptate două formate de ieșire. Array-of-objects (prestabilit) produce [{header1: value1, header2: value2}, ...], cea mai comună formă JSON pentru datele tabulare. Array-of-arrays produce [[header1, header2], [value1, value2], ...], păstrând ordinea coloanelor fără a utiliza numele antetului ca chei.

De ce convertiți CSV în JSON

Cele mai multe API-uri și aplicații moderne vorbesc JSON. Încărcarea datelor dintr-un export CSV - un raport de vânzări, o listă de contacte, un extras de bază de date - într-o aplicație JavaScript, API REST sau o bază de date NoSQL necesită, de obicei, să parcurgeți mai întâi JSON. Conversia este, de asemenea, primul pas pentru multe transformări de date, deoarece JSON este mai ușor de manipulat programatic decât CSV.

Structura JSON deblochează și funcții pe care CSV nu le poate reprezenta. Obiectele cu proprietăți imbricate, matrice de lungime variabilă per înregistrare și informații de tip explicit (șiruri versus numere versus booleani) devin toate disponibile odată ce datele sunt în JSON. Există alternative CSV precum TSV, dar au aceeași limitare de planeitate.

Cum se utilizează

Lipiți sau încărcați fișierul CSV, obțineți JSON.

  1. Adăugați fișierul CSV: Lipiți text CSV în zona de introducere sau plasați un fișier .csv. PapaParse detectează automat delimitatorii; virgula este cea mai obișnuită, dar funcționează și tablă, punct și virgulă și pipe.
  2. Alegeți formatul de ieșire: Array-of-objects folosește anteturi ca chei și produce cea mai comună formă JSON. Array-of-arrays păstrează structura de rânduri brute. Alegeți în funcție de ceea ce se așteaptă consumatorul dvs. din aval.
  3. Convertiți: PapaParse procesează CSV-ul în browser, gestionând câmpurile citate, ghilimele escape și cazurile marginale. Ieșirea JSON este generată cu evadare adecvată pentru șirurile care conțin caractere speciale.
  4. Descărcați sau copiați: Salvați ca .json sau copiați în clipboard. Ieșirea este un consumabil JSON valid de către orice parser JSON.

Cazuri comune de utilizare

Detalii tehnice

PapaParse implementează RFC 4180 (spec. CSV) plus extensii pentru variațiile pe care le conțin fișierele CSV din lumea reală. Câmpurile citate pot include virgule, linii noi și caractere ghilimele (scăpat prin dublare). Anteturile, atunci când sunt prezente, sunt detectate din primul rând. Valorile numerice și booleene pot fi tastate automat (transformate în numere reale sau boolean, mai degrabă decât în ​​șiruri) sau păstrate ca șiruri.

Ieșirea JSON este generată folosind JSON.stringify cu indentare opțională. Șirurile sunt escape pentru sintaxa JSON (bară oblică inversă, ghilimele, caractere de control), iar structurile folosesc formatul solicitat (matrice de obiecte sau matrice de matrice).

Cazuri marginale gestionate: BOM la începutul fișierului, sfârșituri de linii mixte (\n vs \r\n), celule goale (redate ca șiruri goale sau nule, în funcție de setări), linii noi de sfârșit și rânduri cu număr diferit de câmpuri. Robustețea lui PapaParse o face biblioteca standard CSV JavaScript.

Cele mai bune practici

Întrebări frecvente

Conversia CSV în JSON modifică conținutul?
Conținutul este păstrat cât mai exact posibil. Cu toate acestea, este posibil ca unele caracteristici specifice formatului să nu aibă echivalente directe, astfel încât pot apărea diferențe minore de formatare.
De ce să convertiți datele în format JSON?
JSON este formatul de date standard pentru API-urile web și aplicațiile JavaScript. Este ușor de citit de om, acceptat pe scară largă de limbaje de programare și are o sintaxă mai simplă decât XML.
Convertorul gestionează structuri CSV imbricate sau complexe?
Da. Instrumentul analizează corect obiectele imbricate, matricele și toate tipurile de date CSV standard, păstrând structura completă a datelor în ieșirea JSON.
Este această conversie sigură și privată?
Da. Toată prelucrarea are loc local în browserul dvs. Datele dvs. nu părăsesc dispozitivul dvs. - nicio încărcare pe server, nicio procesare în cloud, nicio colectare de date.
Sunt datele mele încărcate pe un server?
Nu. PapaParse rulează în browserul dvs.; conversia are loc în întregime pe dispozitivul dvs.
Pot converti JSON înapoi în CSV?
Da — utilizați instrumentul JSON în CSV, care inversează procesul.
Care este dimensiunea maximă de intrare?
Până la 50 MB. Fișierele mai mari pot încetini din cauza constrângerilor de memorie din browser; pentru conversiile la scară de producție, o abordare pe partea de server sau cu script este mai fiabilă.
De ce CSV-ul meu cu câmpuri multi-linii citate se convertește ciudat?
PapaParse gestionează câmpurile cu mai multe linii atunci când sunt citate corect. Dacă rezultatul este greșit, verificați dacă câmpurile citate folosesc ghilimele duble în jurul lor și că ghilimelele interne sunt eliminate prin dublare ("").