Přesun dat mezi CSV, JSON, YAML a XML
Data málokdy zůstávají v klidu v jednom formátu. Report přijde jako tabulka, API chce JSON, nasazovací pipeline očekává YAML a někde v suterénu si legacy služba pořád vystačí s XML. Většina každodenního tření při práci s daty není v datech samotných, ale v tom, jak je dostat z podoby, kterou máte, do podoby, kterou něco jiného vyžaduje. To je celá práce datového převodníku: vzít strukturovaný text v jedné notaci a znovu ho vypsat v jiné, aniž by se cestou ztratil smysl.
Převodníky Speedoru běží celé ve vašem prohlížeči. Vložíte, kliknete, zkopírujete výsledek. Nic se nenahrává, nic se neloguje a nic neopouští váš počítač. Pro každého, kdo se kdy zaváhal, než vložil export zákazníků na náhodný web, je přesně tenhle princip – jen lokálně – ten hlavní bod.
K čemu je každý formát skutečně dobrý
Pomůže vědět, proč tyto formáty vůbec existují, než se pustíte do přesouvání mezi nimi, protože každý vznikl pro jinou práci.
CSV je plochá mřížka oddělená čárkami, kterou milují tabulkové procesory. Je ze své podstaty tabulková: řádky a sloupce, nic vnořeného. Otevřete ji v Excelu, Google Sheets nebo Numbers a prostě to funguje. Háček je, že CSV nemá koncept typů. Hodnota 007 může být řetězec, číslo nebo poštovní směrovací číslo a CSV vám neřekne, co z toho.
JSON je lingua franca moderního webu. Skoro každé API, které kdy zavoláte, ho umí. JSON zvládá vnořování, pole a hrstku skutečných typů (řetězce, čísla, boolean, null), což ho dělá mnohem výraznějším než plochá tabulka. Je kompaktní, přátelský ke strojům a podporovaný všude.
YAML je čitelnější bratranec JSONu. Používá odsazení místo závorek, podporuje komentáře a bývá formátem volby pro konfigurační soubory, Docker Compose, manifesty Kubernetes a CI pipeline. Když má člověk něco ručně upravit, YAML je k očím obvykle vlídnější.
XML je zkušený stařešina. Rozvláčný, plný tagů a pořád hluboce zakořeněný v podnikových systémech, SOAP službách, finančním zasílání zpráv a dokumentových standardech jako RSS. V nových projektech ho potkáte méně často, ale když ho opravdu potřebujete, potřebujete ho hodně.

Kde se převody skutečně dějí
Scénáře jsou docela konkrétní, jakmile se začnete dívat. Řekněme, že vám marketing předá tabulku se 4000 kontakty a registrační API přijímá jen JSON pole. Exportujete tabulku do CSV, protáhnete ji nástrojem CSV na JSON a máte payload připravený k odeslání pomocí POST. Žádný spojovací skript, žádné pandas, žádné čekání na inženýra.
Nebo si stáhnete kus JSONu zpátky z toho samého API a chcete ho vložit do konfiguračního souboru, který vaše služba čte při startu. Převeďte ho nástrojem JSON na YAML a dostanete něco čistého a komentovatelného, co se přesně hodí do vašeho repozitáře. Funguje to i opačně, když nástroj přijímá jen JSON, ale vaše konfigurace žije v YAML.
A pak je tu integrace, kterou nikdo nemá rád: partnerský systém, který přijímá jen XML. Payload postavíte v JSONu, protože tak vaše aplikace uvažuje, a pak na hranici převedete na XML. Tvar zůstává stejný, mění se jen syntaxe.
Úskalí, o kterých stojí za to vědět
Převod formátu není vždy bezeztrátový a předstírat opak vede k chybám. Pár věcí, které si pamatujte:
CSV zapomíná typy. Protože každá buňka je jen text, čísla, boolean hodnoty a data vyjdou jako řetězce, pokud je převodník sám neodhadne. Pokud true potřebuje být boolean, ne slovo "true", zkontrolujte výstup, než ho odešlete dál.
YAML dbá na mezery. Odsazení v YAML není kosmetika, je strukturální. Jedna zbloudilá mezera může změnit, ke kterému klíči hodnota patří, a tabulátory jsou naprosto zakázané. Po jakémkoliv převodu JSON na YAML a zpátky se vyplatí rychlá kontrola okem, nebo protáhněte výsledek zpátky formátovačem JSON, abyste ověřili, že struktura přežila.
XML a JSON se nemapují čistě. JSON má pole; XML má opakované prvky. JSON nemá atributy vůbec; XML je má všude. Většina převodníků zvolí rozumnou konvenci, ale pokud vaše XML hojně používá atributy, JSON, který vyprodukuje, bude vypadat trochu jinak než ručně psaný JSON. To je očekávané, ne chyba.
Na hloubce vnoření záleží. CSV je ploché, takže hluboce vnořený JSON nejde vždy sbalit do sloupců bez zploštění klíčů (myslete na address.city). Opačným směrem se ploché CSV stane plochým polem, nikdy stromem.

Proč tu záleží jen na lokálním zpracování
Spousta dat, která budete chtít převést, není vaše na sdílení. Uživatelské záznamy, interní konfigurace, API klíče schované v odpovědi, finanční řádky. Spousta online převodníků potichu pošle to, co vložíte, na server, aby tam odvedl práci. Speedor to nedělá. Logika převodu běží na kartě vašeho prohlížeče, data nikdy nepřekročí síť a zavření karty je celý úklid. Je to i rychlejší, protože není žádné nahrávání tam a zpět, a funguje to i offline, jakmile se stránka jednou načte. Zdarma, bez registrace, bez kvót.
Často kladené otázky
Nahrává se moje data někam, když je převádím?
Ne. Každý převod běží lokálně ve vašem prohlížeči pomocí JavaScriptu. Vaše data nikdy neopustí vaše zařízení a nikdy se neposílají na server, což je důvod, proč tyto nástroje fungují i offline.
Mohu převést CSV na JSON bez psaní kódu?
Ano. Vložte své CSV do převodníku, klikněte na převod a zkopírujte výsledné JSON pole. První řádek se bere jako záhlaví sloupců, které se stanou klíči jednotlivých objektů.
Proč se čísla v mém převedeném JSONu zobrazují jako řetězce?
CSV nemá koncept datových typů, takže každá hodnota začíná jako text. Některé převodníky se snaží automaticky rozpoznat čísla a boolean hodnoty, ale v případě pochybností ponechávají hodnoty jako řetězce, aby nepoškodily třeba poštovní směrovací čísla nebo ID s úvodními nulami.
Jaký je rozdíl mezi JSON a YAML?
Reprezentují stejný druh dat, ale YAML používá odsazení místo složených a hranatých závorek, umožňuje komentáře a je obecně pro lidi snazší na čtení a úpravy. JSON je kompaktnější a je výchozím formátem pro většinu webových API.
Je převod mezi těmito formáty vždy bezeztrátový?
Obvykle ano, ale ne vždy. JSON, YAML a XML se na sebe ve většině případů mapují dobře. Nejzáludnější dvojice jsou CSV, které je ploché a beztypové, a XML, které zpracovává atributy a opakované prvky jinak než pole JSONu. Vždy zkontrolujte výstup u důležitých dat.
Fungují tyto převodníky na velkých souborech?
Zvládnou pohodlně většinu běžných souborů, protože práce probíhá na vašem vlastním zařízení. Výkon závisí spíš na vašem zařízení než na serveru, takže velmi velké soubory limituje hlavně paměť vašeho prohlížeče.
