CSV uz JSON pārveidotājs - Bezmaksas tiešsaistes failu pārveidošanas rīks
Momentāni pārveidojiet CSV uz JSON un JSON uz CSV savā pārlūkprogrammā. Drošs, ātrs datu pārveidošanas rīks ar priekšskatījumu un lejupielādi. Nav nepieciešama failu augšupielāde.
CSV/JSON Failu Pārveidotājs
Viegli pārveidojiet starp CSV un JSON formātiem. Augšupielādējiet savu failu, priekšskatiet datus un lejupielādējiet pārveidoto rezultātu.
CSV uz JSON Pārveidotājs
JSON uz CSV Pārveidotājs
Dokumentācija
Kas ir CSV–JSON pārveidotājs?
CSV–JSON pārveidotājs ir rīks, kas pārveido datus no CSV (ar komatiem atdalītu vērtību) formāta uz JSON (JavaScript objektu pieraksta) formātu vai pretējā virzienā. Šis pārveidotājs pilnībā darbojas tīmekļa pārlūkprogrammā. Augšupielādētais fails nekad netiek nosūtīts uz serveri, tāpēc dati paliek lietotāja ierīcē.
CSV ir vienkārša teksta formāts tabulu glabāšanai, piemēram, izklājlapām, kas eksportētas no Excel vai Google Sheets. JSON ir teksta formāts, kas veidots no atslēgu un vērtību pāriem un tiek plaši izmantots datu pārsūtīšanai starp tīmekļa lietotnēm un API. Tā kā šie formāti datus organizē atšķirīgi, pārveidošanai starp tiem ir nepieciešams noteikts noteikumu kopums, kas aprakstīts tālāk.
Kā pārveidot CSV par JSON
- Noklikšķiniet uz “Upload CSV File” un ierīcē izvēlieties
.csvfailu. - Rīks parāda neapstrādātā faila satura priekšskatījumu.
- Noklikšķiniet uz “Convert to JSON”. Rīks nolasa pirmo rindu kā kolonnu galvenes un katru nākamo rindu pārveido par vienu JSON objektu.
- Rezultāts tiek parādīts izvades priekšskatījumā ar atkāpēm.
- Noklikšķiniet uz “Download JSON”, lai saglabātu to kā
.jsonfailu, vai uz “Copy JSON”, lai kopētu tekstu.
Kā pārveidot JSON par CSV
- Noklikšķiniet uz “Upload JSON File” un izvēlieties
.jsonfailu. Failā jābūt JSON objektu masīvam, piemēram,[{"Name":"Ann"},{"Name":"Bo"}]. - Rīks parāda neapstrādātā JSON teksta priekšskatījumu.
- Noklikšķiniet uz “Convert to CSV”. Rīks apkopo visas atslēgas, kas tiek izmantotas visos objektos, un katru no tām pārveido par kolonnu.
- Rezultāts tiek parādīts izvades priekšskatījumā kā CSV teksts.
- Noklikšķiniet uz “Download CSV”, lai saglabātu to kā
.csvfailu, vai uz “Copy CSV”, lai kopētu tekstu.
Serveris nepiemēro augšupielādes ierobežojumus, jo nekādi dati neatstāj pārlūkprogrammu. Ļoti liels fails tomēr var palēnināt pārlūkprogrammas cilnes darbību, jo pārveidošanas laikā viss fails tiek glabāts atmiņā.
CSV pārveidošanas par JSON noteikumi
Rīks nolasa faila pirmo rindu kā kolonnu nosaukumus. Katra nākamā rinda kļūst par vienu JSON objektu, kur kolonnu nosaukumi ir atslēgas. Ja rindā ir vairāk vērtību nekā galveņu, papildu atslēgas tiek nosauktas pēc to absolūtās pozīcijas rindā, tāpēc ar 3 galvenēm ceturtajai vērtībai tiek piešķirta atslēga field_4, piektajai — field_5 un tā tālāk; tas nozīmē, ka dati netiek zaudēti. Ja rindā ir mazāk vērtību, trūkstošajām atslēgām tiek piešķirtas tukšas virknes. Ja divām galvenēm ir vienāds nosaukums, otrajai tiek pievienots sufikss, tāpēc a, a kļūst par atslēgām a un a_2.
Rīks ievēro CSV noteikumus, kas definēti RFC 4180, šā formāta tehniskajā standartā. Komats laukā tiek uzskatīts par vērtības daļu, nevis kolonnas atdalītāju, tikai tad, ja lauks ir ietverts dubultpēdiņās, piemēram, "Smith, John". Rindas pārtraukums pēdiņās tiek saglabāts kā vērtības daļa, nevis uzskatīts par jaunu rindu. Divas dubultpēdiņas pēdiņās ietvertā laukā apzīmē vienu burtisku pēdiņas rakstzīmi.
Par kolonnu atdalītāju tiek atpazīti tikai komati; rīks neatpazīst un neatbalsta semikolus, tabulācijas vai citus atdalītājus.
Katra vērtība tiek pārbaudīta un pārveidota par noteiktu tipu:
- Vērtība, kas uzrakstīta kā parasts skaitlis, piemēram,
42vai-3.5, kļūst par JSON skaitli. - Teksts
truevaifalse(neatkarīgi no burtu reģistra) tiek interpretēts kā JSON būla vērtība. - Viss pārējais paliek JSON virkne, tostarp tukšās šūnas, kas kļūst par tukšām virknēm.
- Skaitlis ar sākuma nulli, piemēram,
00512, paliek virkne, jo sākuma nullei bieži ir nozīme, piemēram, pasta indeksā vai identifikācijas numurā. - Skaitlis tiek pieņemts tikai tad, ja, to izvadot, tiek iegūts tieši tas pats teksts. Lieli veseli skaitļi virs 9,007,199,254,740,991 — lielākā veselā skaitļa, ko JavaScript skaitlis var precīzi glabāt, — parasti šo pārbaudi neiztur un paliek virknes, lai netiktu zaudēti cipari.
- Vērtība, ko fails jau ir ietvēris pēdiņās, vienmēr tiek saglabāta kā virkne, pat ja tā izskatās pēc skaitļa, jo pēdiņas tiek uzskatītas par autora norādi, ka tā ir teksts.
Tukšās rindas failā tiek izlaistas un neveido tukšus objektus.
JSON pārveidošanas par CSV noteikumi
Rīks pārbauda katru masīva objektu un apkopo visu tajos izmantoto atslēgu kopumu. Šīs atslēgas kļūst par CSV kolonnu galvenēm tādā secībā, kādā tās pirmo reizi parādās. Ja vienam objektam trūkst atslēgas, kas ir citam objektam, tā šūna paliek tukša, nevis rodas kļūda.
JSON uz CSV nepārveido ligzdotus objektus atsevišķās kolonnās. Vērtība, kas pati ir objekts vai masīvs, tiek ierakstīta kā JSON teksts vienā šūnā, tāpēc {"b": 1} kļūst par šūnu {"b":1}, bet [1, 2] kļūst par šūnu [1,2]. Nekas netiek zaudēts, taču ligzdotā daļa paliek vienā kolonnā, nevis tiek sadalīta. Ja katrai daļai nepieciešama atsevišķa kolonna, ligzdoto JSON vispirms manuāli izlīdziniet.
Vērtība null un atslēga, kas ir vienam objektam, bet trūkst citam, abas rada tukšu šūnu.
Šūnas vērtība, kurā ir komats, pēdiņas vai rindas pārtraukums, izvadē tiek ietverta dubultpēdiņās, un visas tajā esošās pēdiņas tiek dubultotas atbilstoši iepriekš aprakstītajam CSV ekranēšanas noteikumam.
Ievades JSON ir jābūt masīvam, un katram tā elementam jābūt objektam. Ja objekta vietā ir skaitlis, virkne, null vai ligzdots masīvs, rodas kļūda “JSON must be an array of objects”. Masīvs, kurā nav neviena elementa, rada kļūdu “The JSON array is empty. Add at least one object to convert.” Pilnīgi tukšs augšupielādētais fails rada kļūdu “The uploaded file is empty.”
Atrisināts piemērs
Sākotnējais CSV fails:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Pārveidojot to par JSON, tiek iegūts:
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]
13Ņemiet vērā, ka "Bo, Jr." saglabāja komatu, jo lauks avota failā bija ietverts pēdiņās, bet Age un Member kļuva attiecīgi par skaitli un Būla vērtību.
Pārveidojot to pašu JSON atpakaļ par CSV un pievienojot rindu, kurā trūkst Age, tiek iegūts:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Cy Tan,,true
5Trūkstošā Age vērtība kļūst par tukšu šūnu, bet komata dēļ "Bo, Jr." lauks atkārtoti tiek ietverts pēdiņās.
Biežākie lietojumi
- Datu analīze: izklājlapas vai analīzes rīka CSV eksporta pārveidošana par JSON, lai to varētu apstrādāt ar JavaScript, un pēc tam rezultātu pārveidošana atpakaļ par CSV pārskatam.
- API testēšana: izstrādātājs, kas veido API ar CSV augšupielādes atbalstu, var pārveidot paraugfailus par JSON, lai pārbaudītu, vai parsētājs izveido paredzētos objektus.
- Datu migrācija: ierakstu pārvietošana no sistēmas, kas eksportē CSV, uz sistēmu, kas pieņem tikai JSON, vai pretējā virzienā.
- Ātra pārbaude: JSON faila pārveidošana par tabulai līdzīgu CSV, lai to būtu vieglāk lasīt, vai pretējā virzienā.
Programmēšanas bibliotēkas piedāvā tādu pašu pārveidošanu lielākiem vai atkārtotiem uzdevumiem, piemēram, Python moduļi csv un json vai pandas. Komandrindas rīki, piemēram, csvkit un jq, nodrošina pārveidošanu un filtrēšanu terminālī. Šīs iespējas ir piemērotas pakešapstrādei; šis pārlūkprogrammas rīks ir piemērots vienreizējam failam bez jebkādas instalēšanas.
Biežāk uzdotie jautājumi
Vai augšupielādētais fails tiek nosūtīts uz serveri? Nē. Pārveidošana notiek JavaScript vidē pārlūkprogrammas cilnē. Fails tiek nolasīts no vietējās ierīces un nekad netiek pārsūtīts.
Vai pārveidotājs atbalsta citus atdalītājus, ne tikai komatu, piemēram, semikolu vai tabulāciju? Nē. Pašreizējā versija nolasa tikai ar komatiem atdalītas vērtības. Fails, kurā izmantots cits atdalītājs, vispirms jāpārveido ar komatiem atdalītā formā, piemēram, aizstājot atdalītāju teksta redaktorā.
Kāpēc tāds skaitlis kā 00512 JSON izvadē palika teksta virkne?
Sākuma nullēm parasti ir nozīme, piemēram, pasta indeksā, tāpēc pārveidotājs saglabā šo vērtību kā virkni, nevis pārveido to par skaitli 512, tādējādi zaudējot nulli.
Kas notiek, ja pārveidoju JSON, kurā ir ligzdoti objekti?
Ligzdotais objekts tiek ierakstīts kā JSON teksts vienā šūnā, piemēram, {"b":1}. Dati tiek saglabāti, taču netiek sadalīti atsevišķās kolonnās. Ja katram laukam nepieciešama sava kolonna, vispirms izlīdziniet ligzdotos datus.
Kā rīkoties, ja mans JSON nav objektu masīvs?
Rīks parāda kļūdu un neko nepārveido. Ievadei jābūt JSON masīvam, kura katrs elements ir objekts, piemēram, [{"a":1},{"a":2}].
Vai CSV faila pirmajai rindai vienmēr jābūt galveņu rindai? Jā. Pārveidotājs pirmo rindu vienmēr uzskata par kolonnu nosaukumiem. Failā bez galveņu rindas pirmā datu rinda tiks kļūdaini nolasīta kā galvenes.
Atsauces
- Shafranovich, Y. "Common Format and MIME Type for Comma-Separated Values (CSV) Files." RFC 4180, IETF, oktobris 2005. https://www.rfc-editor.org/rfc/rfc4180
- Bray, T., red. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, decembris 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