Tabulka versus strom
CSV má řádky a sloupce, XML a JSON hierarchii. Pro vnořená pole potřebuješ dohodnuté zploštění, další tabulku nebo zápis vnořených dat například jako JSON uvnitř buňky. Není univerzální bezeztrátové mapování.
id,nazev
001,"XML, JSON a YAML"
[{"id":"001","nazev":"XML, JSON a YAML"}] CSV: uvozovky a typy
Buňka obsahující čárku, uvozovku nebo nový řádek potřebuje odpovídající quoting; uvozovka se zdvojí. Oddělovač a kódování stanov předem. RFC 4180 je informační popis běžného CSV, nikoli záruka všech variant Excelu. Identifikátor 001 nepřeváděj na číslo.
YAML a JSON
YAML nabízí více typových a syntaktických možností. Vybraný parser a schéma určují výklad hodnot. Pro převod do JSON kontroluj řetězcové klíče, aliasy a případné vlastní tagy; některé vlastnosti nejdou zachovat běžnou JSON hodnotou.
Použití zdejších nástrojů
Na XML záložce Převody vyber formát a element záznamu; pro CSV dohodni kořen a název řádku pro zpětný převod. JSON nástroj nabízí CSV a YAML. Následně zkontroluj počet záznamů, Unicode, prázdné hodnoty a cílové schéma. Při otevření exportu v tabulkovém programu zvaž interpretaci buněk jako vzorců.
CSV ↔ JSON: konkrétní záznamy a quoting
id,nazev,poznamka
001,"XML, JSON","Řekl ""ahoj"""
002,XPath, [{"id":"001","nazev":"XML, JSON","poznamka":"Řekl \"ahoj\""},{"id":"002","nazev":"XPath","poznamka":""}] Každý řádek je objekt, hlavička názvy vlastností a hodnoty v tomto příkladu zůstávají textové řetězce. Prázdná poslední buňka se převede na prázdný text, nikoli na null. CSV bez schématu nemá informaci o číselném typu id. Export/import proto musí zachovat 001.
- V JSON nástroji otevři převod na CSV a vlož pole objektů.
- Zkontroluj hlavičku, oddělovač a výsledný počet řádků.
- Pro opačný směr použij CSV konvertor a zvol stejný oddělovač.
- Porovnej všechny buňky, včetně prázdných, čárek, uvozovek a Unicode.
CSV parser potřebuje quoting; nepoužívej split(","), protože první název obsahuje čárku. Pravidla běžného quoting popisuje RFC 4180.
JSON do Excelu
Excel otevírá JSON přes Power Query. Dobře funguje pole objektů se stejnými vlastnostmi, například export záznamů z API:
- V Excelu pro Windows (Microsoft 365) otevři kartu Data, zvol Načíst data → Ze souboru a v nabídce položku pro JSON (v anglické verzi Get Data → From File → From JSON).
- Power Query ukáže pole jako seznam (List). Převeď ho na tabulku (To Table) a sloupec rozbal ikonou se dvěma šipkami v záhlaví.
- Zkontroluj typy sloupců. Identifikátory jako
001nastav jako text, jinak z nich Excel udělá číslo 1. Pak data načti do listu (Close & Load).
Bez Power Query převeď JSON nejdřív na CSV: v JSON nástroji na záložce Konverze zvol CSV, výsledek ulož jako soubor .csv v UTF-8 a v Excelu ho načti přes Data → Z textu/CSV. Převod na CSV funguje jen pro pole plochých objektů. Vnořené objekty nejdřív zploštěj na záložce Zploštění (klíče jako adresa.mesto), vnořená pole potřebují samostatnou tabulku (viz výše). XML do tabulky popisuje návod Převod XML do Excelu.
CSV ↔ XML: kořen a element záznamu
<katalog><kniha><id>001</id><nazev>XML</nazev></kniha><kniha><id>002</id><nazev>XPath</nazev></kniha></katalog> id,nazev
001,XML
002,XPath V XML převodech zvol CSV a element záznamu kniha. Při návratu z CSV zvol kořen katalog a jméno řádku kniha. Změna těchto názvů znamená jiné XML a může porušit XSD. Namespace, atributy a smíšený obsah do obyčejné tabulky nepřeneseš bez další dohody.
Pro vnořený seznam autorů například vytvoř dvě tabulky knihy a autoři propojené id. Jiná možnost je JSON hodnota v jedné buňce, ale příjemce ji pak musí znovu parsovat. Zploštění musí určit, co dělat s více hodnotami, nikoli vzít první bez upozornění.
YAML ↔ JSON a hranice společného modelu
id: "001"
azev: XML
aktivni: true
tagy:
- xml
- json
poznamka: null {"id":"001","nazev":"XML","aktivni":true,"tagy":["xml","json"],"poznamka":null} V YAML převodu porovnej typy, ne jen zobrazené znaky. Uvozovky chrání textový identifikátor před typovým odvozením. Při návratu z JSON do YAML se mohou změnit uvozovky a odsazení. Komentáře, kotvy a způsob zápisu nejsou součástí JSON modelu a běžný návrat je neobnoví.
JSON má pouze řetězcové názvy vlastností. YAML může mít složitější klíče či vlastní tagy; takové vstupy pro JSON nejdřív odmítni nebo explicitně přemapuj. Základní shodu typů ověř s parserem používajícím YAML 1.2. Exportovaná CSV otevíraná v tabulkovém programu může obsahovat buňky interpretované jako vzorce: bezpečnostní úprava musí být oddělená od věrného datového převodu a dohodnutá s příjemcem.