CodeKitHub
JSON tööriistad

JSON CSV-ks teisendaja

Viimati uuendatud:

Kleebi JSON-objektide massiiv ja saad tagasi puhta, korrektselt põgenenud CSV — valmis kopeerimiseks või allalaadimiseks. Veerupäised ehitatakse automaatselt üles kõigist massiivis esinevatest võtmetest, nii et puuduvate või lisaväljadega read käsitletakse korrektselt. Kõik toimub sinu brauseris; andmed ei lahku kunagi sinu seadmest.

Mis see tööriist on?

API-d ja andmebaasid tagastavad andmed tavaliselt JSON-ina, kuid tabelarvutusprogrammid, Excel, Google Sheets ja enamik andmete importimise tööriistu ootavad CSV-d. See tööriist ületab selle lõhe: kleebi JSON-objektide massiiv (näiteks API vastus) ja see ehitab CSV-i ühe veeruga iga unikaalse võtme kohta ja ühe reaga iga objekti kohta.

Teisendamine käsitleb detaile, mis lihtsamaid lähenemisi lõhuvad: komasid või jutumärke sisaldavad väärtused põgenetakse korrektselt, puuduvad väljad muutuvad tühjadeks lahtriteks, mitte ei põhjusta teisendamise krahhi, ning välja sees olevad pesastatud objektid või massiivid seerialiseeritakse selles lahtris JSON-stringina, mitte ei visata vaikselt minema.

Väljund järgib RFC 4180 jutumärgistamise reegleid, mis on de facto CSV standard: iga koma, topelt jutumärki või reavahetust sisaldav väli mähitakse topelt jutumärkidesse ja välja sees olevad jutumärgid dubleeritakse. Just see hoiab väärtuse nagu New York, NY ühes veerus, selle asemel et see vaikselt kaheks lõheneks.

Miks seda kasutada?

  • Automaatne päiste tuvastamine — veergude loend ehitatakse kõigi objektide võtmete uniooni põhjal, nii et ebajärjekindlad kirjed väljundit ei riku.
  • Korrektne CSV põgenemine — komadega, jutumärkidega või reavahetustega väärtused pannakse õigesti jutumärkidesse, nii et fail avaneb puhtalt Excelis või Google Sheetsis.
  • Käsitleb pesastatud andmeid — objekt või massiiv välja sees seerialiseeritakse JSON-tekstiks vea põhjustamise asemel.
  • Kopeeri lõikelauale või laadi otse alla .csv-failina.
  • 100% brauseripoolne — sinu andmed (API vastused, eksporditud kirjed) ei laadita kunagi kuhugi üles.

Kuidas kasutada

  1. Kleebi JSON-objektide massiiv, nt [{"name":"Alice","age":30},{"name":"Bob","age":25}].
  2. Klõpsa "Convert to CSV".
  3. Vaata väljund üle — kopeeri see või klõpsa "Download CSV", et fail salvestada.
  4. Ava allalaaditud fail Excelis, Google Sheetsis või mõnes muus tabelitööriistas.

Näide

Sisend

[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]

Tulemus

name,age,city
Alice,30,
Bob,,NYC

Pane tähele, kuidas nii "city" kui "age" muutuvad veergudeks, kuigi ühelgi objektil pole mõlemat — puuduvad väärtused lihtsalt jäetakse tühjaks.

Praktilised nõuanded

  • API vastuse teisendamine tabeliaruande jaoks: kleebi JSON-massiiv otse brauseri Network-vahelehelt või API testimistööriistast, teisenda ja laadi alla — vahepealset skripti pole vaja.
  • Ebajärjekindlate kirjetega töötamine (nt valikulised väljad vormieksportest): automaatne päiste tuvastamine tähendab, et sul ei ole vaja skeeme käsitsi eelnevalt ühtlustada.
  • Kui su JSON on üks suur objekt pesastatud massiiviga sees (nt {"users": [...]}), eralda enne siia kleepimist ainult massiivi osa (see [...] osa).

Miks veergude järjekord ja täielikkus on olulised

Peenike, kuid levinud CSV-viga tekib siis, kui andmed eksporditakse käsitsi päiseid ette kirjutades ja lootes, et iga rida sobib: kui reas 50 tuhandest 1000-st on lisaväli, mida ühelgi varasemal real ei olnud, siis lihtne rea-realt CSV-kirjutaja kas viskab selle välja vaikselt minema või nihutab kõik järgnevad veerud paigast ära. See tööriist väldib seda viga, skaneerides kõigepealt kõiki massiivi objekte, et ehitada täielik ja korrektne päiserida enne ühegi väljundrea kirjutamist — nii et väli, mis esineb ainult üks kord, viimasel objektil, saab ikkagi oma veeru ja iga teise rea väärtus selle jaoks kuvatakse korrektselt tühjana, ilma et see rea struktuuri rikuks.

Korduma kippuvad küsimused

Kas see töötab ka ühe JSON-objektiga massiivi asemel?

See ootab massiivi — mähi üksik objekt nurksulgudesse, näiteks muuda {"name":"Alice"} kujuks [{"name":"Alice"}], ja see teisendatakse üherealiseks CSV-ks.

Mis juhtub pesastatud objektide või massiividega välja sees?

Need seerialiseeritakse selles lahtris JSON-stringina (nt {"a":1} sisaldav väli muutub CSV-s tekstiks "{""a"":1}", korrektselt jutumärgistatuna) vea põhjustamise või mahaviskamise asemel. Kui vajad pesastatud andmete lahtiharutamist eraldi veergudeks, on selleks vaja teistsugust, skeemipõhist tööriista.

Kas mu andmed laaditakse serverisse üles?

Ei. Teisendamine töötab täielikult JavaScriptina sinu brauseris — midagi ei saadeta kuhugi, mistõttu on seda turvaline kasutada eksporditud kliendi- või äriandmetega.

Miks on mu CSV-s tühjad lahtrid?

Kui mõnel massiivi objektil puudub võti, mis teistel on olemas, siis see veerg on ikkagi olemas, kuid nende objektide lahter, kellel seda ei ole, jäetakse tühjaks — see säilitab kõik sinu andmed, selle asemel et ebajärjekindlate kirjete peale krahhida.

Kas komadega väärtused rikuvad CSV-i?

Ei. Iga komat, jutumärki või reavahetust sisaldav väärtus mähitakse automaatselt jutumärkidesse (sisemised jutumärgid põgenetakse) standardsete CSV-reeglite järgi, nii et see avaneb korrektselt Excelis ja Google Sheetsis.

Seotud tööriistad