JSON Toolkit

JSON, nebo YAML

Shrnutí: JSON vymezuje závorkami a YAML odsazením: stroje dostanou JSON, lidé upravující konfiguraci YAML. Komentáře, kotvy a struktura více dokumentů nepřežijí.

Začátečník~4 min čteníPublikováno 2026-10-30Aktualizováno 2026-10-30
Kdy použít JSON a kdy YAML

Stručně: JSON používejte pro data stroj-stroj a YAML pro konfiguraci, kterou upravují lidé; preferujte YAML, když potřebujete komentáře, víceřádkový text nebo kotvy, a JSON, když každý jazyk musí parsovat stejný payload bez nejednoznačnosti.

Vedle sebe

{
  "server": {
    "host": "127.0.0.1",
    "port": 8080
  }
}
server:
  host: 127.0.0.1
  port: 8080

Stejná struktura. YAML zahazuje interpunkci a získává místo pro komentář.

Kde se liší

JSON YAML
Struktura Závorky a čárky Odsazení
Komentáře Žádné Ano
Řetězce Dvojité uvozovky, vyžaduje escapování Obvykle bez uvozovek
Víceřádkový text Escape sekvence \n nebo pole Blokové skaláry `
Znovupoužití Žádné Kotvy & a aliasy *
Více dokumentů Obalte do pole Oddělovače ---
Rychlost parsování Rychlá Pomalejší, pravidla odsazení
Nejistota Velmi nízká no parsované jako boolean, odsazení o jedna vedle

Poslední řádek je skutečná cena YAML. V YAML 1.1 dává country: NO boolean false a version: 1.0 se může stát desetinným číslem. JSON nemá žádné implicitní typování.

Volba

JSON: těla požadavků a odpovědí, zprávy mezi službami, JSON sloupce v databázích, cokoli, co musí v každém jazyce parsovat identicky.

YAML: ekosystémy, kde je výchozím (Kubernetes, Ansible, GitHub Actions, Docker Compose); konfigurace, která potřebuje vysvětlení; soubory ovládané dlouhým textem, například certifikáty, skripty nebo SQL.

Co převod ztrácí

YAML → JSON: všechny komentáře, znovupoužití kotev (expandované do duplikátů), všechny dokumenty kromě prvního a původní zápis dat a booleanů.

JSON → YAML: rozlišení řetězec/číslo slábne, takže "8080" i 8080 potřebují explicitní uvozovky, aby zůstaly bezpečné.

Převádějte kvůli migracím a jednorázovému prozkoumání. Neudržujte stejný soubor ve dvou formátech jako paralelní náhledy.

Časté dotazy

Jak se rozhodnout mezi JSON a YAML?

Začněte tím, kdo soubor čte a udržuje: JSON použijte, když ho generuje program, překračuje hranice jazyků a musí se parsovat předvídatelně; YAML použijte, když ho upravuje člověk a potřebuje vysvětlení polí nebo dlouhý víceřádkový text. Převádějí se mezi sebou, ale neudržujte stejnou konfiguraci dlouhodobě v obou formátech.

Proč YAML produkuje více typové nejednoznačnosti?

YAML má implicitní typování, takže hodnoty jako NO, on nebo 1.0 se mohou stát booleany, daty nebo čísly. JSON má jen explicitní typy: řetězec musí být v uvozovkách, což činí parsování napříč jazyky předvídatelnější.

Mají komentáře a kotvy přežít převod YAML do JSON?

Ne. Komentáře, kotvy a více dokumentů YAML nelze v JSON reprezentovat; kotvy se expandují do duplikovaného obsahu. Pokud je potřebujete zachovat, použijte knihovnu YAML s Document API, místo obousměrného převodu přes objekt.

Další čtení