§

Illeszd be a JSON tömböt, amit CSV-be szeretnél konvertálni.

Elválasztó
Fejléc oszlopok
Első sor fejléc
Beágyazott objektumok
Típus kényszerítés
§

Output

csv

A JSON CSV-vé alakítása napi feladat az amerikai és brit adatmunka során. Egy API visszaad egy JSON tömböt, és valakinek a pénzügyben, a műveletekben vagy a termékfejlesztésben szüksége van rá Excelben vagy Google Sheets-ben ebédidőre. Az US Census Bureau és a HUD American Community Survey csővezetékei JSON rekordokat alakítanak CSV-vé az elemzők számára, akik táblázatokban élnek, és az IRS Form 990 nonprofit adatokat is ugyanúgy lapítják, mielőtt elérnek egy jótékonysági nyomkövetőt. A brit fintech csapatok, akik az Open Banking PSD2 megfelelés felé építenek, tranzakciós listákat exportálnak a Read/Write API JSON-jából a CSV-be, amit a könyvvizsgálók és az FCA várnak, és a HMRC ÁFA egyeztetések is egy JSON letöltésből indulnak, ami CSV táblává van lapítva. Ez a konverter lokálisan végzi a lapítást, így a tulajdonjogi pénzügyi, egészségügyi vagy népszámlálási rekordok soha nem érnek el egy hosztolt konvertert.

Mi az a JSON CSV konvertálás?

JSON (JavaScript Object Notation, RFC 8259) egy fa alakú szöveges formátum strukturált adatokhoz; CSV (Vesszővel Elválasztott Értékek, RFC 4180) egy lapos, táblázatos szöveges formátum. A JSON CSV-vé konvertálása ezt a fát sorokká és oszlopokká lapítja, így egy adathalmaz, ami API válaszként indult, tisztán nyílik meg egy táblázatban anélkül, hogy egyetlen sort is újra kellene gépelni.

Hogyan működik a JSON CSV konvertálás?

Minden konvertálás lokálisan fut a böngésződben. A magas szintű lépések:

  1. JSON.parse érvényesíti a bemenetet és megerősíti, hogy egy legfelső szintű rekordtömbről van szó. Egyértelmű hiba jelenik meg, ha a zárójelek, vesszők vagy idézőjelezett kulcsok nem egyeznek.
  2. Az író fejléc oszlopokat származtat a rekordjaidból. Ez vagy az összes látott kulcs uniója, vagy csak az első rekord kulcsai, a kapcsolótól függően.
  3. A beágyazott objektumok pont-kulcsokká vannak lapítva (user.id, user.city) vagy egyetlen JSON cellává szerializálva, a választásod szerint. Az objektumokon belüli tömbök mindkét esetben JSON-karakterláncként vannak kezelve.
  4. Minden cella escape-elésre kerül RFC 4180 szerint: bármely érték, ami tartalmazza az aktív elválasztót, egy dupla idézőjelet vagy egy sortörést, idézőjelek közé kerül, és a belső idézőjelek duplázódnak. A sorok \r\n sorvégekkel kapcsolódnak.
  5. A CSV a csak olvasható kimeneti mezőbe kerül, és egy letöltési link létrehoz egy Blob-ot a text/csv;charset=utf-8 MIME típussal, így egy kattintással elmentheted a fájlt.

Miért konvertálj JSON-t CSV-be ezzel az eszközzel?

  • Adatvédelem: minden elemzési, lapítási és írási lépés a böngésződben történik. Az adatok soha nem érik el a szervereinket.
  • Helyesség: az író követi az RFC 4180-at. Egy olyan érték, mint a Bob, Jr., "Bob, Jr."-ként jön vissza — egy idézőjelezett cella, nem két oszlop — és a beágyazott újsorok vagy idézőjelek épen túlélik a kört.
  • Táblázatkész: a kimenet egyenesen beilleszthető Excelbe vagy Google Sheets-be, a fejléc oszlopok már a kulcsaidból származtatva, így nincs szükség kézi tisztításra, mielőtt az adat használható lenne.
  • Rugalmasság: lapítsd a beágyazott objektumokat pont-kulcsokká vagy karakterláncként egy cellában, válassz bármilyen elválasztót a nem vesszős CSV dialektusokhoz, és válaszd ki, hogy a fejlécek minden kulcsból vagy csak az első rekordból származzanak.

Mik a JSON CSV konvertálás gyakori alkalmazásai?

A JSON CSV-vé lapítása az adatmunka és eszközök területén jelenik meg:

  • Adatexport: egy API válasz átalakítása CSV fájllá, amit a pénzügyi, műveleti vagy termékcsapatod meg tud nyitni Excelben vagy Google Sheets-ben kódírás nélkül.
  • Jelentéskészítés: egy JSON lekérdezési eredmény bedobása egy táblázatba egy kimutatáshoz, diagramhoz vagy gyors képletsorhoz. Ez a fajta munka fájdalmas nyers JSON ellenében.
  • Táblázatos áttekintés: egy beágyazott JSON konfig (beállítások, funkciókapcsolók, A/B variánsok) lapítása CSV-vé, hogy a nem technikai véleményezők cellánként olvashassák és szerkeszthessék.

Hogy néz ki egy JSON CSV példa?

Illeszd be a [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] értéket, hagyd az elválasztót vesszőn, és nyomd meg a KONVERTÁLÁS gombot. Három sort kapsz: egy name,age fejléc sort, egy Alice,30 adat sort és egy "Bob, Jr.",25 sort. Ez a beágyazott vessző pontosan az, ami egy naív join(',')-nél gondot okoz — itt RFC 4180 idézőjelezést vált ki, így a cella egészben marad.

Ez a JSON CSV konverter teljesen a böngészőmben fut?

Igen. Minden elemzési, lapítási és írási lépés lokálisan fut JavaScriptként a böngészőlapodon belül. Az eszköz egyáltalán nem hív fetch-et, XMLHttpRequest-et vagy navigator.sendBeacon-t, így a JSON adataid soha nem érik el a szervereinket, egy harmadik fél konverterét vagy bármilyen analitikai csővezetéket. Az eszköz offline is működik, miután az oldal betöltődött, mert egy statikus HTML/CSS/JS csomag, futásidejű API függőség nélkül.

Mekkora a maximális bemeneti méret, amit ez a konverter kezelni tud?

A konverter a teljes bemenetet memóriában puffereli és szinkron fut a fő szálon, így a gyakorlati korlátok az eszközödtől függenek. Egy JSON tömb körülbelül 10 MB-ig (nagyjából 100 000 tipikus rekord) CSV-vé lapul anélkül, hogy észrevehető szünetet okozna egy modern laptopon. Azon túl a UI megállhat, amíg az író fut. Streamelt konvertálás Web Worker és darabolt író segítségével egy tervezett fejlesztés — egyelőre oszd fel a nagyon nagy adathalmazokat, mielőtt beillesztenéd őket.

Hogyan kezeli az író a vesszőket, idézőjeleket és újsorokat tartalmazó értékeket?

RFC 4180 szerint. Bármely érték, ami tartalmazza az aktív elválasztót, egy dupla idézőjelet, egy CR-t vagy egy LF-et, dupla idézőjelek közé kerül, és a belső idézőjelek duplázódnak. Tehát egy olyan név, mint a Bob, Jr., az egyetlen "Bob, Jr." cellává válik ahelyett, hogy két oszlopra folyna szét, és egy többsoros leírás egy cellában marad ahelyett, hogy megtörné a sort. Ez az a rész, amit egy naív join(',') elront.

Mi történik a beágyazott JSON objektumokkal CSV-be konvertáláskor?

A beágyazott objektumok a Beágyazott objektumok kapcsoló szerint kerülnek kezelésre. Lapítás módban (alapértelmezett) a kulcsok ponttal vannak összekapcsolva — {"user":{"id":1,"city":"Paris"}} user.id és user.city oszlopokká válik. Karakterláncként módban a beágyazott objektum egyetlen JSON cella értékként szerializálódik az RFC 4180 idézőjel escape-elés érintetlenül hagyásával, megőrizve a szerkezetét a körutazáshoz. Az objektumokon belüli tömbök JSON-karakterláncként vannak kezelve mindkét módban.

Mely elválasztókat használhatja a CSV kimenet?

Négy: vessző (,, az RFC 4180 alapértelmezés), pontosvessző (;, gyakori európai területi beállításokban), tab (\t, a TSV dialektus) és cső (|). Válaszd ki azt, amit a downstream eszközöd vár. Az író escape-el minden olyan cellát, ami véletlenül tartalmazza a kiválasztott elválasztót, így a választás soha nem ront el egy értéket.

Ez a JSON CSV konverter lapítja a tömbödet és RFC 4180-kompatibilis kimenetet ad, amit egyenesen beilleszthetsz egy táblázatba, jelentésbe vagy kódellenőrzésbe, anélkül hogy egyetlen bájtot is feltöltenél. Szükséged van a fordítottra? A CSV JSON konverter a másik irányba elemez.