CSV į JSON konverteris

Konvertuokite CSV į JSON internetu – nemokamai, akimirksniu ir privačiai. Jūsų failas apdorojamas jūsų naršyklėje ir niekada niekur neįkeliamas.

CSV skirtukas
Rezultatas

Konvertuoti failai ir peržiūra pasirodys čia.

Pasiruošta. Pasirinkite lentelės failą, kurį norite konvertuoti.

Kaip veikia konvertavimas

  • Pirmoji eilutė nuskaitoma kaip antraštė – jos langeliai tampa JSON laukų pavadinimais, o kiekviena sekanti eilutė tampa vienu objektu.
  • Pasirinkite skyriklį, kuris atitinka jūsų duomenis – kablelį, kabliataškį arba tabuliavimą.

Jūsų lentelės failas konvertuojamas jūsų naršyklėje. Nieko neperduodama į BroBroGo serverius.

DUK

Kaip konvertuoti CSV į JSON?

Įkelkite savo CSV failą ir spustelėkite „Konvertuoti“ – JSON failas bus paruoštas atsisiųsti per kelias sekundes kartu su rezultato peržiūra. Viskas veikia jūsų įrenginyje.

Kokio dydžio failą galiu konvertuoti?

Iki 8 MB, 10 000 eilučių ir 200 stulpelių viename faile. Didesnius duomenų rinkinius prieš konvertuojant geriausia padalyti į mažesnius failus.

CSV tipai ir JSON tipai: kodėl viskas tampa tekstu

Pats svarbiausias šio įrankio principas – CSV failas nelaiko jokios informacijos apie duomenų tipus. Kiekvienas laukas CSV faile yra paprastas tekstas, nepriklausomai nuo to, ar jame įrašyta kaina „12,50", pašto kodas „02134" ar reikšmė „false". JSON failas, priešingai, palaiko skaičius, loginius kintamuosius (true/false), null ir objektų įdėjimą. Konvertuojant CSV į JSON, kiekviena reikšmė išlieka eilute (string) – niekas automatiškai nekonvertuojama.

Praktinė pasekmė: jei CSV faile yra stulpelis „Kiekis" su reikšme „5", JSON objekte gausite "Kiekis": "5", o ne "Kiekis": 5. Tai gali sukelti problemų, jei vėliau bandysite šiuos duomenis naudoti JavaScript ir atlikti aritmetinius veiksmus – prieš naudojant reikšmes teks konvertuoti eilutę į skaičių.

Ta pati taisyklė galioja datoms, valiutoms ir bet kokiems kitiems formatuotiems duomenims. CSV faile data „2024-03-15" išliks eilute JSON faile.

Įdėjimo nebuvimas: kodėl CSV → JSON niekada nesukuria hierarchijos

CSV yra griežtai plokščia lentelė – kiekviena eilutė turi tiek pat stulpelių, kiek yra antraštėje, ir visi stulpeliai yra vieno lygio. JSON, priešingai, leidžia kurti įdėtas struktūras: objektą objekto viduje, masyvą objekto viduje ir t.t.

Šis įrankis sugeneruoja plokščią objektų masyvą – kiekvienas JSON objektas atitinka vieną CSV eilutę, o kiekvienas laukas – vieną stulpelį. Jei jūsų CSV faile yra stulpeliai „Adresas_Gatvė", „Adresas_Miestas", „Adresas_Pašto_kodas", gausite objektą su trimis atskirais raktiniais žodžiais, o ne įdėtą objektą „Adresas". Tokiai struktūrai sukurti reikėtų papildomų taisyklių, kurių šis įrankis netaiko.

Tai svarbu atsiminti, kai ruošiate CSV failą konversijai: jei norite gauti hierarchinį JSON, CSV faile turite iš anksto suplokštinti stulpelių pavadinimus (pvz., naudodami tašką arba brūkšnį), o hierarchiją sukurti atskirame žingsnyje po konversijos.

Skyriklio parinkimas: kablelis, kabliataškis ar tabuliavimo ženklas

CSV reiškia „Comma-Separated Values", tačiau realybėje naudojami keli skirtingi skyrikliai. Įrankis leidžia pasirinkti vieną iš trijų variantų: kablelis (,), kabliataškis (;) arba tabuliavimo ženklas (\t). Pasirinkus neteisingą skyriklį, visas failas gali būti išskaidytas neteisingai – vietoje eilučių ir stulpelių gausite vieną ilgą tekstą arba klaidingai sulipdytus duomenis.

Dažniausia klaida – kai CSV failas iš tikrųjų naudoja kabliataškį, o ne kablelį. Tai ypač būdinga Europos šalių programinei įrangai, kur kablelis naudojamas kaip dešimtainis skyriklis skaičiuose, todėl CSV failo stulpelių atskyrimui perimamas kabliataškis.

Prieš konvertuojant verta atidaryti CSV failą paprastu tekstiniu redaktoriumi (pvz., Notepad) ir pažiūrėti, koks simbolis naudojamas stulpelių atskyrimui. Jei failas atidarytas Excel ir atrodo tvarkingai, dar nereiškia, kad Excel naudoja kablelį – ji gali automatiškai atpažinti kabliataškį.

Įterptieji kableliai, eilučių lūžiai ir kabutės: kur dažniausiai kyla problemų

CSV formatas turi kabučių naudojimo taisykles – jei lauke yra kablelis (arba kitas skyriklis), eilutės lūžis ar kabutės, tas laukas turi būti apgaubtas kabutėmis. Deja, ne visi CSV failai šių taisyklių laikosi, o tai sukelia klaidas konvertavimo metu.

Dažniausias scenarijus: adresų laukas su eilutės lūžiu. Jei CSV faile vienoje ląstelėje yra kelių eilučių tekstas, pvz.:

"Gedimino pr. 12
Vilnius, LT-01103"

ir kabutės praleistos arba neteisingai formatuotos, įrankis interpretuos eilutės lūžį kaip naujos duomenų eilutės pradžią, sugadindamas visą failą.

Kitas pavyzdys – tekste esančios kabutės. Jei lauke yra kabučių, pvz., „Puikus" produktas, CSV taisyklės reikalauja jas dubliuoti, tačiau ne visi generatoriai tai daro. Dėl šių priežasčių įrankis pateikia klaidos pranešimą: "Šis CSV failas negali būti išskaidytas."

Kas naudoja šį įrankį ir kam

Šis įrankis skirtas situacijoms, kai turite CSV failą ir jums reikia JSON. Pavyzdžiai:

  • Kūrėjai, gaunantys CSV duomenų bazės eksportą ir turintys jį pateikti JavaScript programėlei arba API, kuri priima tik JSON.
  • Duomenų analitikai, konvertuojantys seną CSV adresų failą su nuliais vedančiais pašto kodais (pvz., „02134") ir norintys, kad nuliai išliktų – nes šis įrankis jų nepašalina, kaip tai daro automatinis tipų nustatymas kituose įrankiuose.
  • Komandos, dalijančios duomenis tarp kolegos, kuris dirba su Excel/CSV, ir techninio sprendimo, kuris veikia su JSON – nereikalaujant duomenų siuntimo į serverius ir išlaikant privatumą.
  • Studentai ar tyrėjai, kuriems reikia konvertuoti vienkartinę lentelę struktūrizuotam formatui programavimo užduočiai atlikti.

Konvertavimo žingsniai ir ribojimai

Įrankis veikia kliento naršyklėje – joks failas nėra siunčiamas į serverį. Tai reiškia, kad jautrūs duomenys (klientų sąrašai, kontaktai, logai) lieka jūsų įrenginyje viso konvertavimo metu.

Procedūra:

  1. Pasirinkite CSV failą iš savo įrenginio arba vilkite jį į įrankio langą.
  2. Nustatykite išvesties formatą „JSON".
  3. Jei CSV naudoja ne kablelį, o kitą skyriklį, pasirinkite jį.
  4. Peržiūrėkite konvertuotų duomenų peržiūrą – įrankis rodo, kiek eilučių ir stulpelių buvo nuskaityta.
  5. Atsisiųskite JSON failą.

Ribojimai ir klaidų pranešimai:

Problemos tipas Pranešimas
CSV neperskaitomas „Šis CSV failas negali būti išskaidytas."
Nėra duomenų eilučių „Šiame faile nėra lentelės eilučių."
Per daug eilučių „Šioje lentelėje yra daugiau nei ‹max› eilučių."
Per daug stulpelių „Šioje lentelėje yra daugiau nei ‹max› stulpelių."
Per didelis failas „Šis failas per didelis. Naudokite mažesnį nei ‹max› failą."
Nepasirinktas failas „Pirmiausia pasirinkite vieną failą."
Netinkamas failo tipas „Pasirinkite CSV, JSON arba XLSX failą."
Konversija trunka per ilgai „Ši konversija trunka per ilgai. Pabandykite mažesnį failą."

DUK

Ar šis įrankis automatiškai atpažins, kad stulpelyje yra skaičiai, ir juos konvertuos į skaičius JSON faile? Ne. Visi CSV laukai yra tekstas, todėl JSON faile jie išliks eilutėmis. Skaičius teks konvertuoti rankiniu būdu po atsisiuntimo.

Mano pašto kodas yra „02134". Ar konvertavus jis pavirs skaičiumi 2134? Ne. Kadangi visi laukai laikomi tekstu, jūsų pašto kodas išliks „02134". Tačiau jei įkelsite gautą JSON į programinę įrangą, kuri automatiškai konvertuoja eilutes į skaičius, nuliai gali būti prarasti.

Kodėl mano CSV failas, kuriame yra eilutės lūžiai ląstelėse, nekonvertuojamas? Dažniausia priežastis – neteisingai naudojamos kabutės. Jei CSV ląstelėje yra eilutės lūžis, visas ląstelės turinys turi būti apgaubtas kabutėmis. Jei to nepadaryta, įrankis interpretuoja lūžį kaip naujos eilutės pradžią.

Ar galiu konvertuoti JSON failą atgal į CSV naudodamas šį puslapį? Šis puslapis skirtas CSV → JSON konvertavimui. JSON → CSV konvertavimas yra atskirame puslapyje, ir jis turi susidoroti su kitomis problemomis, pvz., įdėtų struktūrų išplokštinimu.

Kiek eilučių ir stulpelių gali turėti failas? Įrankis turi ribojimus, kurie priklauso nuo konkretaus įrankio nustatymų. Jei failas viršija šias ribas, gausite atitinkamą klaidos pranešimą.

Ar mano duomenys siunčiami į serverį? Ne. Konversija vyksta jūsų naršyklėje. Failas nėra siunčiamas iš jūsų kompiuterio.