Mikä tämä työkalu on?
API:t ja tietokannat palauttavat dataa yleensä JSON-muodossa, mutta laskentataulukot, Excel, Google Sheets ja useimmat tuontityökalut odottavat CSV-muotoa. Tämä työkalu kuroo kuilun umpeen: liitä JSON-objektitaulukko (esim. API-vastaus), ja se rakentaa CSV:n, jossa on yksi sarake jokaista uniikkia avainta kohti ja yksi rivi jokaista objektia kohti.
Muunnos hoitaa yksityiskohdat, jotka rikkovat naiiveja lähestymistapoja: pilkkuja tai lainausmerkkejä sisältävät arvot suojataan asianmukaisesti, puuttuvat kentät muuttuvat tyhjiksi soluiksi kaatumisen sijaan, ja kentän sisällä olevat sisäkkäiset objektit tai taulukot serialisoidaan JSON-merkkijonoksi kyseiseen soluun sen sijaan, että ne hiljaa hylättäisiin.
Tuloste noudattaa RFC 4180:n lainausmerkkisääntöjä, jotka ovat CSV:n de facto -standardi: mikä tahansa kenttä, joka sisältää pilkun, lainausmerkin tai rivinvaihdon, kääritään lainausmerkkeihin, ja kentän sisäiset lainausmerkit kahdennetaan. Juuri tämä pitää arvon kuten New York, NY yhdessä sarakkeessa sen sijaan, että se jakautuisi hiljaa kahteen.
Miksi käyttää sitä?
- Automaattinen otsikkotunnistus — sarakeluettelo muodostetaan kaikkien objektien avainten yhdisteestä, joten epäyhtenäiset tietueet eivät riko tulostetta.
- Oikea CSV-suojaus — pilkkuja, lainausmerkkejä tai rivinvaihtoja sisältävät arvot suojataan asianmukaisesti, joten tiedosto avautuu siististi Excelissä tai Google Sheetsissä.
- Käsittelee sisäkkäistä dataa — kentän sisällä oleva objekti tai taulukko serialisoidaan JSON-tekstiksi virheen sijaan.
- Kopiointi leikepöydälle tai lataus .csv-tiedostona suoraan.
- 100 % selainpohjainen — dataasi (API-vastauksia, vietyjä tietueita) ei koskaan ladata minnekään.
Käyttöohje
- Liitä JSON-objektitaulukko, esim. [{"name":"Alice","age":30},{"name":"Bob","age":25}].
- Klikkaa "Convert to CSV".
- Tarkista tuloste — kopioi se tai klikkaa "Download CSV" tallentaaksesi tiedoston.
- Avaa ladattu tiedosto Excelissä, Google Sheetsissä tai missä tahansa laskentataulukko-ohjelmassa.
Esimerkki
Syöte
[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]Tuloste
name,age,city
Alice,30,
Bob,,NYCHuomaa, kuinka sekä "city" että "age" muuttuvat sarakkeiksi, vaikka yhdelläkään objektilla ei ole molempia — puuttuvat arvot jätetään vain tyhjiksi.
Käytännön vinkit
- API-vastauksen muuntaminen raporttia varten: liitä JSON-taulukko suoraan selaimen Network-välilehdeltä tai API-testaustyökalusta, muunna ja lataa — ilman välivaiheen skriptiä.
- Epäyhtenäisten tietueiden käsittely (esim. lomakeviennin valinnaiset kentät): automaattinen otsikkotunnistus tarkoittaa, ettei skeemoja tarvitse sovittaa käsin etukäteen.
- Jos JSON:si on yksi iso objekti, jonka sisällä on sisäkkäinen taulukko (esim. {"users": [...]}), poimi vain se taulukko-osa (osa [...] ) ennen liittämistä tähän.
Miksi sarakejärjestys ja täydellisyys ovat tärkeitä
Hienovarainen mutta yleinen CSV-bugi syntyy, kun data viedään kirjoittamalla otsikot käsin ensin ja toivomalla, että jokainen rivi täsmää: jos rivillä 50 (1000:sta) on ylimääräinen kenttä, jota millään aiemmalla rivillä ei ollut, naiivi rivi riviltä kirjoittava CSV-generaattori joko hylkää kentän hiljaa tai siirtää kaikki seuraavat sarakkeet väärään kohtaan. Tämä työkalu välttää tämän virhetilan käymällä ensin läpi jokaisen taulukon objektin rakentaakseen täydellisen ja oikean otsikkorivin ennen kuin yhtään tulosteriviä kirjoitetaan — joten kenttä, joka esiintyy vain kerran, viimeisessä objektissa, saa silti oman sarakkeensa ja kaikkien muiden rivien arvo siinä näkyy oikein tyhjänä sen sijaan, että se turmelisi rivin rakenteen.
Usein kysytyt kysymykset
Toimiiko tämä yhden JSON-objektin kanssa taulukon sijaan?
Se odottaa taulukkoa — kääri yksittäinen objekti hakasulkeisiin, esim. muuta {"name":"Alice"} muotoon [{"name":"Alice"}], niin se muuntuu yhden rivin CSV:ksi.
Mitä tapahtuu kentän sisällä oleville sisäkkäisille objekteille tai taulukoille?
Ne serialisoidaan JSON-merkkijonoksi kyseiseen soluun (esim. {"a":1} sisältävästä kentästä tulee teksti "{""a"":1}" CSV:ssä, asianmukaisesti lainausmerkein suojattuna) virheen tai hylkäämisen sijaan. Jos tarvitset sisäkkäisen datan litistettynä erillisiin sarakkeisiin, se vaatii eri, skeemakohtaisen työkalun.
Ladataanko dataani palvelimelle?
Ei. Muunnos tapahtuu JavaScriptinä kokonaan selaimessasi — mitään ei lähetetä minnekään, mikä tekee tästä turvallisen käyttää vietyjen asiakas- tai yritystietojen kanssa.
Miksi CSV:ssäni on tyhjiä soluja?
Jos joistain taulukkosi objekteista puuttuu avain, joka toisilla on, sarake silti luodaan mutta solu jätetään tyhjäksi niille objekteille, joilla sitä ei ole — tämä säilyttää kaiken datasi sen sijaan, että epäyhtenäiset tietueet aiheuttaisivat virheen.
Rikkovatko pilkkuja sisältävät arvot CSV:n?
Ei. Mikä tahansa pilkun, lainausmerkin tai rivinvaihdon sisältävä arvo kääritään automaattisesti lainausmerkkeihin (sisäiset lainausmerkit suojattuna) standardien CSV-sääntöjen mukaisesti, joten se avautuu oikein Excelissä ja Google Sheetsissä.