Přejít na obsah

Převod YAML na JSON

Z konfigurace YAML získáte striktní JSON s přesnými čísly a jasnými chybami.

Výstup
Možnosti
Běží v prohlížeči – vaše data se nikam neodesílají.

Jak použít

  1. Vložte YAML do vstupního editoru.
  2. U volby Výstup vyberte Odsazení 2, Odsazení 4 nebo Minifikovat.
  3. Pro soubor s více dokumenty nastavte Více dokumentů na Pole JSON.
  4. U volby Číselné a logické klíče vyberte Převést na řetězce, nebo zvolte Odmítnout, pokud mají takové klíče vyvolat chybu.

Příklady

Odpovědi API s číselnými stavovými kódy

Vstup
openapi: 3.0.3
info:
  title: API objednávek
  version: 1.0.0
paths:
  /objednavky:
    get:
      responses:
        200:
          description: Seznam objednávek
        404:
          description: Nenalezeno
Výstup
{"openapi":"3.0.3","info":{"title":"API objednávek","version":"1.0.0"},"paths":{"/objednavky":{"get":{"responses":{"200":{"description":"Seznam objednávek"},"404":{"description":"Nenalezeno"}}}}}}

Sdílené nastavení služeb pomocí kotvy

Vstup
vychozi: &vychozi
  host: localhost
  port: 8080
  logovani: true
sluzby:
  objednavky:
    <<: *vychozi
    port: 8081
  fakturace:
    <<: *vychozi
    port: 8082
Výstup
{
    "vychozi": {
        "host": "localhost",
        "port": 8080,
        "logovani": true
    },
    "sluzby": {
        "objednavky": {
            "host": "localhost",
            "logovani": true,
            "port": 8081
        },
        "fakturace": {
            "host": "localhost",
            "logovani": true,
            "port": 8082
        }
    }
}

Dva dokumenty Kubernetes v jednom souboru

Vstup
apiVersion: v1
kind: ConfigMap
metadata:
  name: objednavky-nastaveni
data:
  mena: CZK
---
apiVersion: v1
kind: Service
metadata:
  name: objednavky
spec:
  selector:
    app: objednavky
  ports:
    - port: 80
      targetPort: 8080
Výstup
[
  {
    "apiVersion": "v1",
    "kind": "ConfigMap",
    "metadata": {
      "name": "objednavky-nastaveni"
    },
    "data": {
      "mena": "CZK"
    }
  },
  {
    "apiVersion": "v1",
    "kind": "Service",
    "metadata": {
      "name": "objednavky"
    },
    "spec": {
      "selector": {
        "app": "objednavky"
      },
      "ports": [
        {
          "port": 80,
          "targetPort": 8080
        }
      ]
    }
  }
]

Jak se typy YAML převádějí na JSON

YAMLJSONPoznámka
name: Alice, "02134"řetězecČísla v uvozovkách zůstávají řetězci.
30, 1.10, 0x1F, 12345678901234567890čísloZapsáno přesně jako v YAML; hex a osmičková čísla se převedou na desítková.
true, Falselogická hodnotayes, no, on zůstávají řetězci (YAML 1.2).
null, ~, prázdná hodnotanull
2001-12-14, 12:30:00řetězecŽádný skrytý převod na časová razítka.
seznamy, mapy, kotvy, merge klíče <<pole, objektAliasy se rozvinou; pořadí klíčů zůstane zachováno.
.inf, .nan, !!binary, !Ref, seznam jako klíč—Chyba s cestou a řádkem, nikdy tichá změna.

Časté dotazy

Ztratí se při převodu přesnost velkých čísel?

Převod zachová i dvacetimístná celá čísla a zápisy jako 1.10, 1e3 nebo -0. Šestnáctková a osmičková čísla převede na desítková, například 0x1F na 31.

Převedou se yes, no a datum na jiné datové typy?

V YAML 1.2 zůstávají yes, no, on, off i data jako 2026-10-05 řetězci; true a false jsou logické hodnoty. Pokud dokument obsahuje direktivu %YAML 1.1, použijí se pravidla této verze, takže například yes se převede na true.

Proč se platný YAML nepřevede na JSON?

JSON neumí vyjádřit některé hodnoty YAML, například .inf, .nan, vlastní tagy nebo seznam jako klíč. Převod odmítne také duplicitní klíče a rekurzivní aliasy; chyba uvádí řádek a sloupec.

Odesílá se moje konfigurace na server?

Převod probíhá ve vašem prohlížeči a kód nástroje neposílá YAML ani JSON na server. Vstup se neukládá; v localStorage se uchovává jen nastavení voleb. Při předání do jiného nástroje se data dočasně uloží do sessionStorage a cílová stránka je po načtení odstraní.

Jak velký soubor YAML mohu převést?

Limit je 10 MB pro soubor i vložený text; soubory musí být v UTF-8. Do 1 048 576 znaků se vstup převádí automaticky, u většího vstupu můžete převod spustit zkratkou Ctrl+Enter nebo Cmd+Enter.