Mi ez az eszköz?
Az API-k és adatbázisok általában JSON-ként adják vissza az adatokat, de a táblázatkezelők, az Excel, a Google Sheets és a legtöbb adatimportáló eszköz CSV-t vár. Ez az eszköz áthidalja ezt a rést: illessz be egy JSON objektumtömböt (mint egy API-választ), és felépít egy CSV-t, minden egyedi kulcshoz egy oszloppal, minden objektumhoz egy sorral.
A konverzió kezeli azokat a részleteket, amelyek elrontják a naiv megközelítéseket: a vesszőket vagy idézőjeleket tartalmazó értékek megfelelően escape-elődnek, a hiányzó mezők üres cellákká válnak összeomlás helyett, és egy mezőn belüli beágyazott objektumok vagy tömbök JSON-szöveggé sorosítódnak az adott cellában, ahelyett hogy némán kiesnének.
A kimenet az RFC 4180 idézési szabályait követi, ami a de facto CSV szabvány: minden vesszőt, dupla idézőjelet vagy sortörést tartalmazó mező dupla idézőjelbe kerül, a mezőn belüli idézőjelek pedig megduplázódnak. Ez tartja egyben egy olyan értéket, mint a New York, NY egy oszlopban, ahelyett hogy némán kettéválna.
Miért érdemes használni?
- Automatikus fejlécfelismerés — az oszloplista az összes objektum kulcsainak uniójából épül fel, így az inkonzisztens rekordok nem törik el a kimenetet.
- Helyes CSV escape-elés — a vesszőket, idézőjeleket vagy sortöréseket tartalmazó értékek megfelelően idézőjelbe kerülnek, így a fájl tisztán megnyílik az Excelben vagy Google Sheetsben.
- Kezeli a beágyazott adatokat — egy mezőn belüli objektum vagy tömb JSON-szöveggé sorosodik hiba helyett.
- Másolás a vágólapra, vagy közvetlen letöltés .csv fájlként.
- 100%-ban kliensoldali — az adataid (API-válaszok, exportált rekordok) soha nem kerülnek feltöltésre sehova.
Használati útmutató
- Illessz be egy JSON objektumtömböt, pl. [{"name":"Alice","age":30},{"name":"Bob","age":25}].
- Kattints a "Konvertálás CSV-vé" gombra.
- Nézd át a kimenetet — másold ki, vagy kattints a "CSV letöltése" gombra a fájl mentéséhez.
- Nyisd meg a letöltött fájlt Excelben, Google Sheetsben vagy bármely táblázatkezelőben.
Példa
Bemenet
[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]Kimenet
name,age,city
Alice,30,
Bob,,NYCFigyeld meg, hogy a "city" és az "age" is oszloppá válik, még akkor is, ha egyetlen objektumnak sincs mindkettője — a hiányzó értékek egyszerűen üresen maradnak.
Gyakorlati tippek
- Egy API-válasz konvertálása egy táblázatos jelentéshez: illeszd be a JSON tömböt közvetlenül a böngésző Hálózat füléből vagy egy API-tesztelő eszközből, konvertáld, és töltsd le — nincs szükség köztes szkriptre.
- Inkonzisztens rekordokkal dolgozol (pl. opcionális mezők egy űrlapexportból): az automatikus fejlécfelismerés miatt nem kell előre kézzel egyeztetned a sémákat.
- Ha a JSON-od egy nagy objektum, amelyben van egy beágyazott tömb (pl. {"users": [...]}), a beillesztés előtt vond ki csak a tömb részt (a [...] részt).
Miért számít az oszlopsorrend és a teljesség
Egy finom, de gyakori CSV-hiba akkor fordul elő, amikor az adatot kézzel írt fejlécekkel exportálják, remélve, hogy minden sor illeszkedik: ha az 50. sor az 1000-ből egy olyan extra mezővel rendelkezik, amelyet egyik korábbi sor sem tartalmazott, egy naiv, soronkénti CSV-író vagy némán eldobja azt a mezőt, vagy eltolja az összes következő oszlopot. Ez az eszköz elkerüli ezt a hibamódot azzal, hogy először a tömb minden objektumát átvizsgálja a teljes, helyes fejlécsor felépítéséhez, mielőtt egyetlen kimeneti sort is írna — így egy mező, amely csak egyszer, az utolsó objektumon jelenik meg, akkor is megkapja a saját oszlopát, és minden más sor értéke helyesen üresként jelenik meg, ahelyett hogy megsértené a sorstruktúrát.
Gyakori kérdések
Ez tömb helyett egyetlen JSON objektummal is működik?
Tömböt vár — csomagold be egy egyetlen objektumot szögletes zárójelekbe, pl. alakítsd a {"name":"Alice"}-t [{"name":"Alice"}]-re, és egysoros CSV-vé konvertálja.
Mi történik a mezőn belüli beágyazott objektumokkal vagy tömbökkel?
JSON-szövegként sorosodnak az adott cellában (pl. egy {"a":1}-et tartalmazó mező a CSV-ben "{""a"":1}" szöveggé válik, megfelelően idézőjel-escape-elve), ahelyett hogy hibát okoznának vagy elveszne. Ha a beágyazott adatokat külön oszlopokra kell laposítani, ahhoz egy másik, séma-specifikus eszközre van szükség.
Feltöltésre kerül az adatom egy szerverre?
Nem. A konverzió teljes egészében JavaScriptként fut a böngésződben — semmi sem kerül elküldésre sehova, ami biztonságossá teszi exportált ügyfél- vagy üzleti adatokkal való használatra.
Miért van üres cella a CSV-mben?
Ha a tömbödben lévő objektumok némelyike hiányol egy kulcsot, amely másokban megvan, az oszlop létezik, de a cella üresen marad azoknál az objektumoknál, amelyeknek nincs meg — ez megőrzi az összes adatodat, ahelyett hogy hibát dobna az inkonzisztens rekordoknál.
A vesszőt tartalmazó értékek eltörik a CSV-t?
Nem. Bármely vesszőt, idézőjel-karaktert vagy sortörést tartalmazó érték automatikusan idézőjelbe kerül (a belső idézőjelek escape-elve), a szabványos CSV-szabályok szerint, így helyesen nyílik meg Excelben és Google Sheetsben.