Co je převod JSON na CSV?
JSON (JavaScript Object Notation, RFC 8259) je stromový textový formát pro strukturovaná data; CSV (Comma-Separated Values, RFC 4180) je plochý tabulkový textový formát. Převod JSON na CSV zplošťuje tento strom do řádků a sloupců, takže datová sada, která začala jako API odpověď, se otevře čistě v tabulkovém procesoru bez přepisování jediného řádku.
Jak funguje převod JSON na CSV?
Každý převod probíhá lokálně ve vašem prohlížeči. Hlavní kroky jsou:
JSON.parsevaliduje vstup a potvrzuje, že jde o pole na nejvyšší úrovni. Jasná chyba se zobrazí, pokud závorky, čárky nebo klíče v uvozovkách nesedí.- Zapisovač odvodí sloupce záhlaví z vašich záznamů. Buď sjednocení všech klíčů, nebo jen klíče z prvního záznamu, v závislosti na přepínači.
- Vnořené objekty jsou zploštěny na tečkové klíče (
user.id,user.city) nebo serializovány jako jediná JSON buňka, dle vašeho výběru. Pole uvnitř objektů jsou JSON-stringified v obou případech. - Každá buňka je escapována podle RFC 4180: jakákoli hodnota obsahující oddělovač, uvozovku nebo zalomení řádku je zabalena do uvozovek a vnitřní uvozovky jsou zdvojeny. Řádky se spojují s konci řádků
\r\n. - CSV se zobrazí v poli výstupu pouze pro čtení a odkaz ke stažení vytvoří
Blobs MIME typemtext/csv;charset=utf-8, takže můžete soubor uložit jedním kliknutím.
Proč převádět JSON na CSV s tímto nástrojem?
- Soukromí: každé parsování, zploštění a zápis probíhá ve vašem prohlížeči. Data se nikdy nedostanou na naše servery.
- Korektnost: zapisovač postupuje podle RFC 4180. Hodnota jako
Bob, Jr.se vrátí jako"Bob, Jr."— jedna citovaná buňka, ne dva sloupce — a vložené nové řádky nebo uvozovky přežijí převod neporušené. - Připraveno pro tabulky: výstup se vkládá přímo do Excelu nebo Google Sheets s již odvozenými sloupci záhlaví z vašich klíčů, takže není potřeba žádné ruční čištění, než jsou data použitelná.
- Flexibilita: zploštěte vnořené objekty na tečkové klíče nebo je stringify jako jednu buňku, vyberte libovolný oddělovač pro nečárkové CSV dialekty a zvolte, zda záhlaví pocházejí ze všech klíčů nebo jen z prvního záznamu.
Jaká jsou běžná použití převodu JSON na CSV?
Zploštění JSON do CSV se objevuje napříč datovou prací a nástroji:
- Export dat: přeměna API odpovědi na CSV soubor, který váš finanční, provozní nebo produktový tým může otevřít v Excelu nebo Google Sheets bez psaní kódu.
- Reportování: vložení JSON výsledku dotazu do tabulky pro kontingenční tabulku, graf nebo rychlý sloupec vzorců. Taková práce je bolestivá proti raw JSON.
- Revize v tabulce: zploštění vnořeného JSON konfigu (nastavení, feature flags, A/B varianty) do CSV, aby jej netechničtí recenzenti mohli číst a upravovat buňku po buňce.
Jak vypadá příklad převodu JSON na CSV?
Vložte [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}], ponechte oddělovač na čárce a stiskněte PŘEVÉST. Dostanete tři řádky: hlavičkový řádek name,age, datový řádek Alice,30 a řádek "Bob, Jr.",25. Tato vložená čárka je přesně to, co potrápí naivní spojení — zde spouští RFC 4180 citování, takže buňka zůstává celá.
Běží tento převodník JSON na CSV zcela v mém prohlížeči?
Ano. Každé parsování, zploštění a zápis probíhá lokálně jako JavaScript uvnitř vaší záložky. Nástroj nevolá fetch, XMLHttpRequest ani navigator.sendBeacon vůbec, takže vaše JSON payloady se nikdy nedostanou na naše servery, k převodníku třetí strany ani do žádného analytického pipeline. Nástroj také funguje offline po načtení stránky, protože je to statický HTML/CSS/JS balíček bez runtime API závislosti.
Jaká je maximální velikost vstupu, kterou tento převodník zvládne?
Převodník ukládá celý vstup do paměti a běží synchronně na hlavním vlákně, takže praktické limity závisí na vašem zařízení. JSON pole do asi 10 MB (zhruba 100 000 typických záznamů) se zploští do CSV bez znatelné pauzy na moderním notebooku. Nad tím se UI může zaseknout během běhu zapisovače. Streamovaný převod pomocí Web Worker plus chunked writer je plánovaný follow-up — prozatím rozdělte velmi velké datové sady před vložením.
Jak zapisovač zpracovává hodnoty s čárkami, uvozovkami nebo novými řádky?
Podle RFC 4180. Jakákoli hodnota obsahující aktivní oddělovač, uvozovku, CR nebo LF je zabalena do uvozovek a vnitřní uvozovky jsou zdvojeny. Takže jméno jako Bob, Jr. se stane jedinou buňkou "Bob, Jr." místo rozlití do dvou sloupců a víceřádkový popis zůstává v jedné buňce místo rozbití řádku. To je část, kterou naivní join(',') pokazí.
Co se stane s vnořenými JSON objekty při převodu na CSV?
Vnořené objekty jsou zpracovány podle přepínače Vnořené objekty. V režimu Zploštit (výchozí) jsou klíče spojeny tečkou — {"user":{"id":1,"city":"Paris"}} se stane sloupci user.id a user.city. V režimu Stringify je vnořený objekt serializován jako jediná JSON hodnota buňky s intaktním RFC 4180 escapováním uvozovek, což zachovává jeho strukturu pro zpětný převod. Pole uvnitř objektů jsou JSON-stringified v obou režimech.
Které oddělovače může CSV výstup používat?
Čtyři: čárka (,, RFC 4180 výchozí), středník (;, běžný v evropských lokalitách), tabulátor (\t, TSV dialekt) a svislítko (|). Vyberte ten, který očekává váš downstream nástroj. Zapisovač escapuje každou buňku, která náhodou obsahuje zvolený oddělovač, takže volba nikdy nepoškodí hodnotu.
Tento převodník JSON na CSV zplošťuje vaše pole a vydává RFC 4180-kompatibilní výstup, který můžete vložit přímo do tabulky, reportu nebo code review, bez nahrání jediného bajtu. Potřebujete opačný směr? Převodník CSV na JSON parsuje opačným směrem.