Konvertor JSON na YAML a späť
Konvertuj JSON na YAML a YAML na JSON v prehliadači, s podporou kotiev, zlučovacích kľúčov a viacdokumentových súborov. Nič sa nenahráva.
Ako používať konvertor JSON na YAML
- Vyber smer: JSON → YAML alebo YAML → JSON.
- Vlož údaje, alebo klikni na Otvoriť súbor a načítaj súbor
.json,.yamlalebo.yml(do 10 MB). - Vyber Odsadenie (2 alebo 4 medzery) a podľa chuti Zoradiť kľúče abecedne.
- Klikni na Konvertovať, alebo len píš ďalej: výsledok sa aktualizuje automaticky. Ak je vstup neplatný, chybová správa uvádza riadok a stĺpec problému.
- Skopíruj alebo stiahni výsledok. Obrátiť smer pošle výstup späť do vstupu, aby si ho mohol konvertovať opačným smerom.
JSON a YAML: rovnaké údaje, iná syntax
YAML je v praxi nadmnožina JSON: každý dokument JSON opisuje údaje, ktoré YAML vie vyjadriť, a YAML pridáva ľahšiu syntax, ktorú sa ľahšie číta a upravuje. Preto sa manifesty Kubernetes, súbory Docker Compose, pracovné postupy GitHub Actions a pipeline GitLab CI, playbooky Ansible aj špecifikácie OpenAPI zvyčajne píšu v YAML, kým API a programy si vymieňajú JSON.
Rovnaké údaje v oboch formátoch:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Konvertor zapisuje YAML v blokovom štýle: jeden kľúč na riadok, zoznamy s pomlčkami a odsadené vnorené objekty. Dlhé reťazce sa nikdy nezalamujú a viacriadkové reťazce používajú doslovný štýl |, aby sa zalomenia riadkov zachovali presne. Reťazce, ktoré by YAML inak prečítal ako iný typ, sa uzatvárajú do úvodzoviek: "yes", "1.0" alebo "null" ostanú po spiatočnej ceste reťazcami. Zoradiť kľúče abecedne zoradí kľúče každého objektu, vďaka čomu sa dva konfiguračné súbory lepšie porovnávajú.
YAML → JSON
YAML sa číta podľa základnej schémy YAML 1.2, teda podľa rovnakých pravidiel, aké používa väčšina moderných nástrojov:
true/false, čísla anull(alebo~) sa stanú hodnotami JSON;yes,no,onaoffostanú reťazcami, ako vyžaduje špecifikácia YAML 1.2.- Kotvy a aliasy (
&base,*base) sa rozvinú a podporované sú aj zlučovacie kľúče (<<: *base), bežné v súboroch CI. - Súbor s viacerými dokumentmi oddelenými
---sa stane poľom JSON s jedným prvkom na dokument a správa ti oznámi, koľko ich bolo zlúčených. - Komentáre sa zahodia, pretože JSON komentáre nemá.
.infa.nannemajú ekvivalent v JSON; zapíšu sa ako reťazce"Infinity"a"NaN".
Na ochranu prehliadača pred súbormi typu „billion laughs“, v ktorých sa niekoľko aliasov rozvinie na miliardy hodnôt, sa dokument rozvinutý na viac než milión hodnôt odmietne.
Časté chyby v YAML
- Tabulátory na odsadenie: YAML povoľuje iba medzery.
- Nejednotné odsadenie: položky toho istého zoznamu alebo objektu musia začínať v rovnakom stĺpci.
- Chýbajúca medzera za dvojbodkou:
key:valueje jeden reťazec, kýmkey: valueje dvojica kľúč a hodnota. - Neuzavreté špeciálne znaky: hodnota, ktorá začína
@, spätným apostrofom,*,&alebo!, alebo obsahuje:či#, musí byť v úvodzovkách.
Často kladené otázky
Odosiela sa môj súbor na server?
Nie. Konverzia beží v tvojom prehliadači a tvoje konfiguračné súbory, tajomstvá či údaje API nikdy neopustia tvoj počítač.
Prečo sa „yes“ a „no“ nekonvertujú na logické hodnoty?
Od YAML 1.2 sú logickými hodnotami iba true a false. Staršie parsery YAML 1.1 považovali yes, no, on a off za logické hodnoty, čo spôsobilo známy „problém Nórska“ (kód krajiny NO sa prečítal ako nepravda). Tento nástroj sleduje YAML 1.2.
Zachovávajú sa komentáre YAML?
Nie. JSON komentáre nemá, takže sa pri YAML → JSON stratia. Pri konverzii JSON → YAML môžeš do výsledku komentáre pridať dodatočne.
Môžem konvertovať súbor Kubernetes s viacerými zdrojmi?
Áno. Každý zdroj oddelený --- sa stane jedným prvkom poľa JSON. Konverzia tohto poľa späť na YAML dá jeden dokument obsahujúci zoznam.
Mení konvertor poradie kľúčov?
Nie, pokiaľ nezaškrtneš Zoradiť kľúče: kľúče si ponechajú poradie, v akom sa vyskytujú vo vstupe. Jedinú výnimku spôsobuje samotný JavaScript: kľúče, ktoré sú celými číslami, napríklad "10" alebo "2", sa umiestnia na začiatok vo vzostupnom poradí.
Súvisiace nástroje
- Formátovanie a validácia JSON Bezplatný formátovač a validátor JSON, ktorý skrášľuje, minifikuje a kontroluje JSON v prehliadači a hlási syntaktické chyby s riadkom a stĺpcom.
- Konvertor JSON na CSV a späť Konvertuj JSON na CSV a CSV späť na JSON v prehliadači. Vnorené kľúče sa zploštia do stĺpcov, oddeľovače sa rozpoznajú a nič sa nenahráva.
- Konvertor JSON na XML a späť Konvertuj JSON na XML a XML na JSON v prehliadači, so spracovaním atribútov, opakovaných elementov a CDATA. Nič sa nenahráva na server.