JSON til YAML konverter
Konverter JSON-struktur til rent YAML-format. Ideel til Kubernetes-manifester og skykonfigurationer.
Konverter JSON-struktur til rent YAML-format. Ideel til Kubernetes-manifester og skykonfigurationer.
At gå fra JSON til YAML handler mest om at gøre data mere læsbare for mennesker. Begge formater beskriver de samme slags strukturer - objekter/kort, arrays/sekvenser, skalarer - men YAML's indrykningsbaserede syntaks, valgfri citering og understøttelse af kommentarer gør det nemmere at scanne og redigere i hånden. Konfigurationsfiler er det kanoniske anvendelsestilfælde: Kubernetes-manifester, CI-arbejdsgange, Ansible-afspilningsbøger og snesevis af andre værktøjer valgte YAML specifikt, fordi deres primære redaktører er mennesker.
Denne konverter bruger js-yaml til at serialisere et parset JSON-objekt til YAML. Resultatet bevarer dataens struktur nøjagtigt, mens der anvendes YAML-konventioner: indrykning til indlejring, lister for arrays, nøgle-værdi-par for objektegenskaber. JSONs strenge dobbeltcitering er lempet; kun strenge, der indeholder specialtegn, eller som ligner andre typer, citeres i outputtet.
Konvertering er informationsbevarende, undtagen hvor YAML tilføjer udtryksevne JSON ikke havde. Kommentarer kan ikke rekonstrueres (JSON havde ingen). Anker- og aliasreferencer kunne potentielt komprimere gentagne strukturer, men genereres ikke automatisk; outputtet udvider alle referencer inline.
YAML er dramatisk mere læsbar end JSON for mennesker, der redigerer konfiguration. Indrykning erstatter bøjleindlejring, anførselstegn er valgfrie for simple strenge, og kommentarer kan dokumentere ikke-oplagte indstillinger. For filer, som mennesker vedligeholder - applikationskonfiguration, infrastruktur-som-kode, bygge pipelines - er YAML næsten altid det rigtige destinationsformat.
Moderne infrastrukturværktøjer favoriserer i overvældende grad YAML. Kubernetes, Helm-diagrammer, Ansible, GitHub Actions, GitLab CI, Docker Compose og mange andre værktøjer enten foretrækker eller kræver YAML. Konvertering af JSON-eksporter fra et system til YAML-konfiguration til et andet er et rutinemæssigt integrationstrin.
Indsæt JSON, få YAML.
js-yaml's dump-funktion går gennem JavaScript-objekttræet og udsender YAML ved hjælp af konfigurerbar formatering. Indrykningsdybde, linjebredde, flowstiltærskel og tilbudshåndtering er alle parametre. Standardindstillingerne producerer blok-stil YAML med 2-mellemrums indrykning, den mest almindelige konvention.
Strengcitering følger YAML's regler: strenge, der ligner andre typer (tal, booleans, null, datoer) citeres for at fremtvinge strengfortolkning; strenge, der indeholder specialtegn (kolon, hashes, indledende bindestreger) er citeret; simple alfabetiske strenge efterlades uden anførselstegn.
Output er YAML 1.2-kompatibelt og analyserer rent med js-yaml, PyYAML og andre større YAML-biblioteker. Idempotente rundrejser (JSON → YAML → JSON) bevarer dataene, selvom YAML-repræsentationen vælger kanonisk formatering, der kan afvige fra en håndskrevet ækvivalent.