CSV-tiedoston muuttaminen JSON-muotoon – mikä tekee tästä työkalusta erilaisen
Tällä sivulla muunnat pilkulla, puolipisteellä tai sarkaimella erotetusta tekstitiedostosta (CSV) JSON-rakenteen, joka on tyypillisesti taulukko olioita. Jokainen CSV:n rivi muuttuu yhdeksi olioksi ja jokainen sarake avaimeksi. Raahaat tiedoston työkaluun tai valitset sen laitteeltasi, valitset ulostulomuodoksi ”JSON”, valitset oikean erottimen (jos CSV ei käytä pilkkua), esikatset tuloksen ja lataat valmiin JSON:n.
Tämän työkalun erottaa muista vastaavista kolme seikkaa. Ensimmäinen: CSV tallentaa kaiken tekstinä, mutta JSON tukee lukuja, totuusarvoja, null-arvoja ja sisäkkäisiä rakenteita. Jokainen CSV-kenttä saapuu merkkijonona, joten luvut (hinnat, määrät), päivämäärät ja alkunollia sisältävät tunnisteet (postinumerot, tuotekoodit) eivät automaattisesti muutu numeroiksi tai päiväyksiksi – ne pysyvät merkkijonoina, ellet käsittele niitä erikseen. Toinen: CSV on tiukasti tasomainen taulukko, joten konversio tuottaa tasaisen taulukon tasaisia olioita. Hierarkkista JSON:ia (olioita olioiden sisällä) ei voi luoda CSV:stä ilman lisäsääntöjä, joita tämä työkalu ei sovella. (Käänteinen suunta – JSON → CSV – joutuu litistämään sisäkkäiset kentät.) Kolmas: Erottimen valinta on pakollinen. Sinun täytyy tietää, käyttääkö CSV pilkkuja, puolipisteitä vai tabulaattoreita. Sivuston muilla muunnossivuilla (JSON tai Excel syötteenä) erotinta ei kysytä.
Neljäs käytännön ongelma on CSV:n lainauskäytäntöjen hauraus. Upotetut pilkut lainausmerkkien sisällä, solunsisäiset rivinvaihdot ja lainaamattomat hipsut aiheuttavat usein jäsennysvirheitä, jotka vaivaavat tätä konversiota enemmän kuin muita formaattimuunnoksia. Työkalu ei korjaa huonosti muodostettua CSV:tä – se joko onnistuu tai ilmoittaa virheestä.
CSV:n ja JSON:n rakenteelliset erot: tyypit, sisäkkäisyys ja erottimet
CSV on määritelty RFC 4180 -standardissa, mutta käytännössä monissa tiedostoissa ei noudateta edes sen perussääntöjä. JSON (RFC 7159) on toisaalta tiukasti strukturoitu. Kun muunnat CSV:tä JSON:ksi, kohtaat muutamia perustavanlaatuisia eroja.
Tyypit. Kaikki CSV-arvot ovat merkkijonoja. Jos taulukossa on luku 1000, se on CSV:ssä merkkijono ”1000”. Tämä työkalu säilyttää sen merkkijonona tulosteen JSONissa. Jos haluat aidon numeron, sinun täytyy itse muuntaa kenttä manuaalisesti muokkauksen jälkeen. Alkunollat, kuten postinumero ”00123”, säilyvät ehjinä, koska työkalu ei yritä tulkita niitä luvuiksi. Vastaavasti totuusarvoja tai tyhjiä arvoja ei tunnisteta – kenttä, joka on tyhjä, tulee JSONiin tyhjänä merkkijonona (ei null-arvona). Tämä poikkeaa monista muista konverttereista, jotka saattavat yrittää älykästä tyyppipäätelmää ja hukata samalla alkunollia.
Sisäkkäisyys. CSV on aina kaksiulotteinen. Jokaisella rivillä on sama määrä kenttiä (tai pitäisi olla). JSON-rakenteesta tulee tasainen taulukko olioita: [ {"nimi": "Matti", "ika": "30"}, {"nimi": "Liisa", "ika": "25"} ]. Mikään kenttä ei voi sisältää toista oliota tai taulukkoa ilman, että CSV-tiedoston rakenne olisi erityisesti suunniteltu sitä varten (esimerkiksi käyttäen JSON-merkintää yhdessä solussa – mutta tämä työkalu ei parsisi sellaisia).
Erottimet. CSV on saanut nimensä pilkusta (comma), mutta todellisuudessa puolipiste on yleinen eurooppalaisissa lokalisoinneissa, koska pilkku on desimaalierotin. Tabulaattoria käytetään usein tietokantavienneissä. Työkalu kysyy erottimen valintaa vain, kun syöte on CSV. Jos valitset väärän erottimen, jokainen rivi jäsentyy yhdeksi kentäksi tai kentät jakautuvat väärin. Tarkista aina lähdetiedoston erotin ennen muunnosta – avaa tiedosto tekstieditorissa ja katso, mikä merkki erottaa sarakkeet.
Upotetut pilkut ja rivinvaihdot. Jos CSV-solussa on pilkku, se pitää olla lainausmerkkien sisällä. Moni Excel-tallennus tekee tämän oikein, mutta manuaalisesti muokatut tiedostot eivät. Samoin rivinvaihto lainausmerkkien sisällä säilyy JSONissa \n-merkintänä. Jos lainausmerkkejä on epäloogisesti, koko tiedoston jäsennys epäonnistuu.
Syötteet, valinnat ja tuloste – miten työkalu toimii
Työkalu hyväksyy yhden tiedoston kerrallaan. Ensisijainen käyttötapaus on CSV → JSON, mutta työkalu tunnistaa automaattisesti myös JSON- ja XLSX-syötteet ja tulkitsee ne taulukkoina. Tässä vaiheessa kuitenkin keskitymme CSV-syötteeseen.
Käyttäjän valinnat:
- Ulostulomuoto: asetetaan ”JSON”. (Muut vaihtoehdot voivat olla esimerkiksi ”CSV” tai ”Excel”, mutta tällä sivulla se on kiinteästi JSON.)
- CSV-erotin: Comma (pilkku), Semicolon (puolipiste) tai Tab (sarkain). Valinta on pakollinen, ja oletusarvo on yleensä pilkku.
Työkalu esittää esikatselun muunnetusta datasta, joka näyttää ensimmäiset rivit JSON-muodossa. Lisäksi se ilmoittaa taulukon rivien ja sarakkeiden lukumäärän sekä tulostetiedoston koon.
Konversio tapahtuu kokonaan selaimessa – tiedostoa ei ladata palvelimelle. Tämä on olennainen tieto, jos käsittelet arkaluonteisia tietoja, kuten asiakasrekistereitä tai henkilötietoja. Sivusto ei näe tiedostosi sisältöä.
Tärkeät reunaehdot ja virheviestit
Työkalu pystyy käsittelemään vain tietyn kokoisia ja muotoisia tiedostoja. Seuraavat virheviestit tulevat vastaan, kun ehto ei täyty:
- Tiedostoa ei valittu: "Choose one file first." – Älä yritä painaa muunnospainiketta ilman tiedostoa.
- Väärä tiedostotyyppi: "Choose a CSV, JSON or XLSX file." – Työkalu hyväksyy vain nämä kolme formaattia. PDF, TXT tai kuvat eivät kelpaa.
- CSV:tä ei voida jäsentää: "This CSV could not be parsed." – Yleensä syynä ovat lainausmerkki- tai erotinongelmat. Tarkista, että jokaisella rivillä on sama määrä kenttiä ja että lainausmerkit ovat tasapainossa.
- Ei tietorivejä: "This file has no table rows." – Tiedosto saattaa sisältää vain otsikkorivin tai olla tyhjä.
- Liian monta riviä tai saraketta: "This table has more than ‹max› rows." tai "This table has more than ‹max› columns." – Työkalulla on enimmäismäärät, jotka on asetettu suorituskyvyn ja selaimen muistin vuoksi. Tarkka raja riippuu työkalun versiosta, mutta se on tyypillisesti kymmeniä tuhansia rivejä ja muutamia satoja sarakkeita.
- Liian suuri tiedosto: "This file is too large. Use a file under ‹max›." – Koko rajoittuu selaimen muistiin; yleensä muutama kymmenen megatavua on turvallinen.
- Aikakatkaisu: "This conversion is taking too long. Try a smaller file." – Jos työkalun suoritus kestää liian kauan (esimerkiksi valtava tiedosto tai monimutkainen jäsennys), prosessi keskeytetään.
Kaikki nämä virheilmoitukset näytetään englanniksi, mikä on tavallista teknisissä työkaluissa. Niiden sisältö on kuitenkin yksiselitteinen.
Kenelle tämä työkalu on tarkoitettu?
Tarvitset tätä työkalua, jos:
- Olet kehittäjä, joka saa CSV-viennin tietokannasta tai taulukkolaskentaohjelmasta ja tarvitsee syöttää tiedot JavaScript-sovellukseen tai API:in, joka odottaa JSON-muotoa.
- Olet data-analyytikko, joka haluaa muuntaa vanhan CSV-osoitetiedoston, jossa on alkunollallisia postinumeroita, JSONiksi ja haluaa säilyttää nollat. Tämä työkalu tekee sen automaattisesti, koska se ei tyypitä mitään.
- Jaat taulukkotietoa tiimissä, jossa ei-tekniset jäsenet käyttävät Exceliä tai CSV:tä ja tekniset jäsenet käyttävät JSONia, etkä halua lähettää arkaluonteisia tietoja palvelimelle.
- Valmistelet yksinkertaista tuote-, yhteystieto- tai lokitaulukkoa verkkotyökalua varten, joka lukee JSONia.
- Olet opiskelija tai tutkija, joka tarvitsee muuntaa kertaluonteisen CSV-tiedoston strukturoituun muotoon ohjelmointitehtävää varten.
Työkalu sopii erityisesti nopeaan, kertaluonteiseen muunnokseen ilman asennuksia. Se ei kuitenkaan sovellu toistuviin muunnoksiin, joiden yhteydessä haluat automaattisen tyyppipäätelmän – silloin kannattaa käyttää komentorivityökalua kuten csvkit tai kirjoittaa oma skripti.
Usein kysytyt kysymykset
Miksi JSONissani on luvut merkkijonoina?
Koska CSV-tiedostossa ei ole tietoa tyypeistä. Tämä työkalu käsittelee kaikkia kenttiä tekstinä. Jos tarvitset numeroita, sinun täytyy muuntaa ne erikseen esimerkiksi JavaScriptin Number()-funktiolla tai käyttämällä JSON-skeemaa, joka määrittelee tyypit.
Postinumeroideni alkunollat katosivat, kun avasin JSONin Excelissä. Miksi? Tämä johtuu siitä, että Excel saattaa automaattisesti tulkita merkkijonon, joka näyttää numerolta, luvuksi ja poistaa alkunollat. Itse JSON-tiedosto sisältää nollat oikein, jos muunnos tehtiin tällä työkalulla. Avaa JSON tekstieditorissa varmistaaksesi.
Mitä teen, jos saan virheilmoituksen ”This CSV could not be parsed”? Tarkista seuraavat asiat:
- Onko erotin valittu oikein? Avaa CSV tekstieditorissa ja katso, onko sarakkeet erotettu pilkuilla, puolipisteillä vai tabulaattoreilla.
- Ovatko lainausmerkit tasapainossa? Jos solussa on pilkku, sen ympärillä pitää olla lainausmerkit.
- Onko jokaisella rivillä sama määrä kenttiä? Poista ylimääräiset otsikot tai tyhjät rivit.
Voinko muuntaa JSONin takaisin CSV:ksi samalla sivulla? Tämä sivu on tarkoitettu vain CSV:stä JSON:iin. Sivustolla on erillinen sivu JSON → CSV -muunnosta varten. Huomaa, että käänteinen muunnos on monimutkaisempi, koska sisäkkäiset JSON-rakenteet täytyy litistää.
Onko tiedostoni turvassa? Katoavatko tiedot? Kyllä, konversio tapahtuu kokonaan selaimessasi. Tiedostoa ei lähetetä millekään palvelimelle. Voit sulkea sivun heti muunnoksen jälkeen, eikä palvelimelle jää kopiota tiedostostasi.
Mitä eroa on COM:lla (Comma) ja SEMICOLON:lla (Semicolon)? Molemmat ovat erottimia, joita käytetään CSV-muodossa. Euroopassa puolipiste on yleinen, koska pilkkua käytetään desimaalierottimena. Yhdysvalloissa ja monissa muissa maissa käytetään pilkkua. Valitse se erotin, jota lähdetiedostosi käyttää.