Pretvarač JSON-a u YAML
Pretvori JSON u YAML i YAML u JSON u pregledniku, uz podršku za sidra, ključeve spajanja i datoteke s više dokumenata. Ništa se ne šalje.
Kako koristiti pretvarač JSON-a u YAML
- Odaberi smjer: JSON → YAML ili YAML → JSON.
- Zalijepi podatke ili klikni Otvori datoteku da učitaš
.json,.yamlili.ymldatoteku (do 10 MB). - Odaberi Uvlačenje (2 ili 4 razmaka) i, ako želiš, Sortiraj ključeve po abecedi.
- Klikni Pretvori ili samo nastavi tipkati: rezultat se ažurira automatski. Ako je ulaz neispravan, poruka o grešci navodi red i kolonu problema.
- Kopiraj ili preuzmi rezultat. Zamijeni smjer šalje izlaz nazad u ulaz da ga pretvoriš u suprotnom smjeru.
JSON i YAML: isti podaci, različita sintaksa
YAML je u praksi nadskup JSON-a: svaki JSON dokument opisuje podatke koje YAML može izraziti, a YAML dodaje lakšu sintaksu koju ljudi lakše čitaju i uređuju. Zato se Kubernetes manifesti, Docker Compose datoteke, GitHub Actions i GitLab CI pipelineovi, Ansible playbookovi i OpenAPI specifikacije obično pišu u YAML-u, dok API-ji i programi razmjenjuju JSON.
Isti podaci u oba formata:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Pretvarač piše YAML u blok stilu: jedan ključ po redu, liste s crticama i uvučene ugniježđene objekte. Dugi stringovi se nikada ne prelamaju, a višeredni stringovi koriste doslovni stil | da se prelomi redova sačuvaju tačno. Stringovi koje bi YAML inače pročitao kao drugi tip stavljaju se pod navodnike: "yes", "1.0" ili "null" ostaju stringovi nakon povratnog puta. Sortiraj ključeve poredi ključeve svakog objekta po abecedi, što olakšava poređenje dvije konfiguracijske datoteke.
YAML → JSON
YAML se čita jezgrenom shemom YAML 1.2, istim pravilima koja koristi većina modernih alata:
true/false, brojevi inull(ili~) postaju JSON vrijednosti;yes,no,onioffostaju stringovi, kako zahtijeva specifikacija YAML 1.2.- Sidra i aliasi (
&base,*base) se proširuju, a ključevi spajanja (<<: *base), uobičajeni u CI datotekama, podržani su. - Datoteka s više dokumenata razdvojenih sa
---postaje JSON niz s jednim elementom po dokumentu, a poruka kaže koliko ih je spojeno. - Komentari se odbacuju, jer JSON nema komentare.
.infi.nannemaju JSON ekvivalent; zapisuju se kao stringovi"Infinity"i"NaN".
Da zaštiti tvoj preglednik od datoteka tipa „billion laughs“, u kojima se nekoliko aliasa širi na milijarde vrijednosti, odbija se dokument koji se širi na više od milion vrijednosti.
Česte greške u YAML-u
- Tabulatori za uvlačenje: YAML dozvoljava samo razmake.
- Nedosljedno uvlačenje: stavke iste liste ili objekta moraju počinjati u istoj koloni.
- Razmak koji nedostaje iza dvotačke:
key:valueje jedan string, dok jekey: valuepar ključ-vrijednost. - Posebni znakovi bez navodnika: vrijednost koja počinje s
@, obrnutim apostrofom,*,&ili!, ili koja sadrži:ili#, mora biti pod navodnicima.
Česta pitanja
Šalje li se moja datoteka na server?
Ne. Pretvaranje se odvija u tvom pregledniku, a tvoje konfiguracijske datoteke, tajne ili API podaci nikada ne napuštaju tvoj računar.
Zašto se „yes“ i „no“ ne pretvaraju u logičke vrijednosti?
Od YAML-a 1.2 samo true i false su logičke vrijednosti. Stariji YAML 1.1 parseri tretirali su yes, no, on i off kao logičke vrijednosti, što je izazvalo čuveni „problem Norveške“ (kod zemlje NO pročitan kao false). Ovaj alat slijedi YAML 1.2.
Čuvaju li se YAML komentari?
Ne. JSON nema komentare, pa se oni gube pri YAML → JSON. Pri pretvaranju JSON → YAML komentare možeš naknadno dodati u rezultat.
Mogu li pretvoriti Kubernetes datoteku s više resursa?
Da. Svaki resurs razdvojen sa --- postaje jedan element JSON niza. Pretvaranje tog niza nazad u YAML daje jedan dokument koji sadrži listu.
Mijenja li pretvarač redoslijed ključeva?
Ne, osim ako označiš Sortiraj ključeve: ključevi zadržavaju redoslijed kojim se pojavljuju u tvom ulazu. Jedini izuzetak potiče od samog JavaScripta: ključevi koji su cijeli brojevi, poput "10" ili "2", postavljaju se na početak, uzlaznim redom.
Srodni alati
- JSON formater i validator Besplatan JSON formater i validator koji uljepšava, minifikuje i provjerava JSON u pregledniku, a sintaksne greške prijavljuje s redom i kolonom.
- Pretvarač JSON-a u CSV Pretvori JSON u CSV i CSV nazad u JSON u pregledniku. Ugniježđeni ključevi se poravnavaju u kolone, razdjelnici se prepoznaju, a ništa se ne šalje.
- Pretvarač JSON-a u XML Pretvori JSON u XML i XML u JSON u pregledniku, uz atribute, ponovljene elemente i CDATA. Ništa se ne šalje na server.