Convertor CSV în JSON - Instrument Gratuit de Conversie Fișiere Online
Convertiți CSV în JSON și JSON în CSV instant în browser. Conversie securizată și rapidă de date cu previzualizare și descărcare. Fără încărcări de fișiere.
Convertor de fișiere CSV/JSON
Convertiți cu ușurință între formatele CSV și JSON. Încărcați fișierul, previzualizați datele și descărcați rezultatul convertit.
Convertor CSV în JSON
Convertor JSON în CSV
Documentație
Ce este un convertor CSV în JSON?
Un convertor CSV în JSON este un instrument care transformă datele din formatul CSV (valori separate prin virgule) în formatul JSON (JavaScript Object Notation) sau invers. Acest convertor rulează în întregime în browserul web. Fișierul încărcat nu este trimis niciodată unui server, astfel încât datele rămân pe dispozitivul utilizatorului.
CSV este un format de text simplu utilizat pentru stocarea tabelelor, cum ar fi foile de calcul exportate din Excel sau Google Sheets. JSON este un format text construit din perechi cheie-valoare, utilizat pe scară largă pentru transferul datelor între aplicații web și API-uri. Deoarece cele două formate organizează datele diferit, conversia dintre ele necesită un set definit de reguli, descrise mai jos.
Cum se convertește CSV în JSON
- Faceți clic pe „Încărcați fișier CSV” și alegeți un fișier
.csvde pe dispozitiv. - Instrumentul afișează o previzualizare a conținutului brut al fișierului.
- Faceți clic pe „Convertește în JSON”. Instrumentul citește primul rând ca antete de coloană și transformă fiecare rând următor într-un obiect JSON.
- Rezultatul apare în previzualizarea de ieșire, formatat cu indentare.
- Faceți clic pe „Descarcă JSON” pentru a-l salva ca fișier
.jsonsau pe „Copiază JSON” pentru a copia textul.
Cum se convertește JSON în CSV
- Faceți clic pe „Încărcați fișier JSON” și alegeți un fișier
.json. Fișierul trebuie să conțină un tablou JSON de obiecte, de exemplu[{"Name":"Ann"},{"Name":"Bo"}]. - Instrumentul afișează o previzualizare a textului JSON brut.
- Faceți clic pe „Convertește în CSV”. Instrumentul colectează fiecare cheie utilizată în toate obiectele și transformă fiecare cheie într-o coloană.
- Rezultatul apare în previzualizarea de ieșire sub formă de text CSV.
- Faceți clic pe „Descarcă CSV” pentru a-l salva ca fișier
.csvsau pe „Copiază CSV” pentru a copia textul.
Nu există limite de încărcare impuse de un server, deoarece niciuna dintre date nu părăsește browserul. Totuși, un fișier foarte mare poate încetini fila browserului, deoarece întregul fișier este păstrat în memorie în timpul conversiei.
Reguli de conversie din CSV în JSON
Convertorul citește primul rând al fișierului ca nume de coloane. Fiecare rând următor devine un obiect JSON, cu numele coloanelor drept chei. Un rând care conține mai multe valori decât numărul de antete primește chei suplimentare, denumite după poziția absolută în rând; astfel, cu 3 antete, celei de-a patra valori îi este atribuită cheia field_4, celei de-a cincea field_5 și așa mai departe, ceea ce înseamnă că nu se pierde nicio dată. Un rând cu mai puține valori primește șiruri goale pentru cheile lipsă. Dacă două antete au același nume, al doilea este redenumit cu un sufix; astfel, a, a devine cheile a și a_2.
Convertorul respectă regulile CSV definite în RFC 4180, standardul tehnic pentru acest format. O virgulă dintr-un câmp este tratată ca parte a valorii acelui câmp, nu ca separator de coloană, numai dacă acel câmp este încadrat în ghilimele duble, de exemplu "Smith, John". Un sfârșit de linie din interiorul ghilimelelor este păstrat ca parte a valorii, nu este tratat ca un rând nou. Două ghilimele duble din interiorul unui câmp încadrat în ghilimele reprezintă un singur caracter literal de ghilimele.
Sunt recunoscute doar virgulele ca separatori de coloană; instrumentul nu detectează și nu acceptă punct și virgulă, tabulatoare sau alți delimitatori.
Fiecare valoare este verificată și convertită într-un tip:
- O valoare scrisă ca număr simplu, cum ar fi
42sau-3.5, devine un număr JSON. - Textul
truesaufalse, indiferent de combinația de litere, devine o valoare booleană JSON. - Orice altceva rămâne un șir JSON, inclusiv celulele goale, care devin șiruri goale.
- Un număr cu zero inițial, cum ar fi
00512, rămâne un șir de text, deoarece zero-ul inițial are adesea o semnificație, ca în cazul unui cod poștal sau al unui număr de identificare. - Un număr este acceptat numai dacă rescrierea lui produce exact același text. Numerele întregi mari, mai mari decât 9,007,199,254,740,991, cel mai mare număr întreg pe care un număr JavaScript îl poate reprezenta exact, nu trec de obicei această verificare și rămân șiruri de text, astfel încât nicio cifră nu se pierde.
- O valoare pe care fișierul a încadrat-o deja în ghilimele este păstrată întotdeauna ca șir de text, chiar dacă seamănă cu un număr, deoarece ghilimelele sunt interpretate ca marcarea valorii drept text de către autor.
Rândurile goale din fișier sunt omise și nu produc obiecte goale.
Reguli de conversie din JSON în CSV
Convertorul examinează fiecare obiect din tablou și colectează setul complet de chei utilizate în toate obiectele. Aceste chei devin antetele coloanelor CSV, în ordinea în care apar prima dată. Dacă unui obiect îi lipsește o cheie pe care o are un alt obiect, celula sa rămâne goală, fără a produce o eroare.
Conversia din JSON în CSV nu aplatizează obiectele imbricate în coloane separate. O valoare care este ea însăși un obiect sau un tablou este scrisă din nou ca text JSON într-o singură celulă; astfel, {"b": 1} devine celula {"b":1}, iar [1, 2] devine celula [1,2]. Nu se pierde nimic, dar partea imbricată rămâne într-o singură coloană, în loc să fie împărțită. Aplatizați manual JSON-ul imbricat mai întâi dacă fiecare element trebuie să aibă propria coloană.
O valoare null și o cheie pe care un obiect o are, iar altul nu, produc ambele o celulă goală.
O valoare de celulă care conține o virgulă, un ghilimele sau un sfârșit de linie este încadrată în ghilimele duble în rezultatul de ieșire, iar orice ghilimele din interior sunt dublate, conform regulii de escapare CSV de mai sus.
JSON-ul de intrare trebuie să fie un tablou, iar fiecare element din el trebuie să fie un obiect. Un număr, un șir de text, null sau un tablou imbricat în locul unui obiect produce eroarea „JSON-ul trebuie să fie un tablou de obiecte”. Un tablou fără niciun element produce eroarea „Tabloul JSON este gol. Adăugați cel puțin un obiect pentru conversie.” Un fișier încărcat fără niciun conținut produce eroarea „Fișierul încărcat este gol.”
Exemplu de calcul
Fișierul CSV inițial:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Conversia sa în JSON produce:
1[
2 {
3 "Name": "Ann Lee",
4 "Age": 29,
5 "Member": true
6 },
7 {
8 "Name": "Bo, Jr.",
9 "Age": 7,
10 "Member": false
11 }
12]
13Observați că "Bo, Jr." și-a păstrat virgula deoarece câmpul era încadrat în ghilimele în fișierul sursă, iar Age și Member au devenit un număr și o valoare booleană.
Conversia aceluiași JSON înapoi în CSV, cu un rând adăugat în care lipsește Age, produce:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Cy Tan,,true
5Valoarea Age lipsă devine o celulă goală, iar virgula din "Bo, Jr." face ca acel câmp să fie din nou încadrat în ghilimele la export.
Utilizări frecvente
- Analiza datelor: transformarea unui export CSV dintr-o foaie de calcul sau dintr-un instrument de analiză în JSON, pentru a putea fi prelucrat cu JavaScript, apoi convertirea rezultatelor înapoi în CSV pentru un raport.
- Testarea API-urilor: un dezvoltator care construiește un API ce acceptă încărcări de fișiere CSV poate converti fișiere eșantion în JSON pentru a verifica dacă un analizor produce obiectele așteptate.
- Migrarea datelor: mutarea înregistrărilor dintr-un sistem care exportă CSV într-un sistem care acceptă doar JSON sau invers.
- Inspectarea rapidă: transformarea unui fișier JSON într-un CSV asemănător unui tabel, pentru a-l citi mai ușor, sau invers.
Bibliotecile de programare oferă aceeași conversie pentru sarcini mai ample sau repetitive, precum modulele csv și json din Python sau pandas. Instrumente de linie de comandă precum csvkit și jq gestionează conversia și filtrarea dintr-un terminal. Aceste opțiuni sunt potrivite pentru procesarea pe loturi; acest instrument din browser este potrivit pentru un fișier convertit o singură dată, fără instalarea vreunui program.
Întrebări frecvente
Fișierul încărcat este trimis unui server? Nu. Conversia rulează în JavaScript, în fila browserului. Fișierul este citit de pe dispozitivul local și nu este transmis niciodată.
Convertorul acceptă și alți delimitatori în afară de virgulă, cum ar fi punctul și virgula sau tabul? Nu. Versiunea actuală citește numai valori separate prin virgule. Un fișier care folosește un alt delimitator trebuie convertit mai întâi în format cu valori separate prin virgule, de exemplu prin înlocuirea delimitatorului într-un editor de text.
De ce un număr precum 00512 a rămas un șir de text în rezultatul JSON?
Zerourile inițiale au de obicei o semnificație, ca în cazul unui cod poștal, astfel încât convertorul păstrează valoarea ca șir de text în loc să o transforme în numărul 512, ceea ce ar elimina zero-ul.
Ce se întâmplă dacă convertesc JSON care conține obiecte imbricate?
Obiectul imbricat este scris ca text JSON într-o singură celulă, de exemplu {"b":1}. Datele sunt păstrate, dar nu sunt împărțite în coloane separate. Aplatizați mai întâi datele imbricate dacă fiecare câmp trebuie să aibă propria coloană.
Ce se întâmplă dacă JSON-ul meu nu este un tablou de obiecte?
Instrumentul afișează o eroare și nu convertește nimic. Datele de intrare trebuie să fie un tablou JSON în care fiecare element este un obiect, de exemplu [{"a":1},{"a":2}].
Primul rând al unui fișier CSV trebuie întotdeauna să fie un rând de antete? Da. Convertorul tratează întotdeauna primul rând ca nume de coloane. Într-un fișier fără rând de antete, primul rând de date va fi interpretat greșit ca antete.
Referințe
- Shafranovich, Y. "Common Format and MIME Type for Comma-Separated Values (CSV) Files." RFC 4180, IETF, octombrie 2005. https://www.rfc-editor.org/rfc/rfc4180
- Bray, T., ed. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, decembrie 2017. https://www.rfc-editor.org/rfc/rfc8259
- "Working with JSON." MDN Web Docs, Mozilla. https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON