JSON til YAML-konverter
Konvertér JSON til YAML og YAML til JSON i din browser, med understøttelse af ankre, merge-nøgler og filer med flere dokumenter. Intet uploades.
Sådan bruger du JSON til YAML-konverteren
- Vælg retningen under Konvertering: JSON → YAML eller YAML → JSON.
- Indsæt dine data, eller klik på Åbn fil for at indlæse en
.json-,.yaml- eller.yml-fil (op til 10 MB). - Vælg Indrykning (2 eller 4 mellemrum) og, hvis du vil, Sortér nøgler alfabetisk.
- Klik på Konvertér, eller skriv bare videre: Resultatet opdateres automatisk. Hvis inputtet er ugyldigt, angiver fejlmeddelelsen problemets linje og kolonne.
- Kopiér eller download resultatet. Skift retning sender resultatet tilbage til inputfeltet, så du kan konvertere den anden vej.
JSON og YAML: de samme data, forskellig syntaks
YAML er i praksis en overmængde af JSON: Ethvert JSON-dokument beskriver data, som YAML kan udtrykke, og YAML tilføjer en lettere syntaks, som er nemmere for mennesker at læse og redigere. Derfor skrives Kubernetes-manifester, Docker Compose-filer, GitHub Actions- og GitLab CI-pipelines, Ansible-playbooks og OpenAPI-specifikationer som regel i YAML, mens API’er og programmer udveksler JSON.
De samme data i begge formater:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Konverteren skriver YAML i blokstil: én nøgle pr. linje, lister med bindestreger og indlejrede objekter indrykket. Lange strenge foldes aldrig, og strenge med flere linjer bruger den bogstavelige |-stil, så linjeskift bevares præcist. Strenge, som YAML ellers ville læse som en anden type, sættes i anførselstegn: "yes", "1.0" eller "null" forbliver strenge efter turen frem og tilbage. Sortér nøgler sorterer nøglerne i hvert objekt alfabetisk, hvilket gør to konfigurationsfiler lettere at sammenligne.
YAML → JSON
YAML’en læses med kerneskemaet i YAML 1.2, de samme regler som de fleste moderne værktøjer bruger:
true/false, tal ognull(eller~) bliver til JSON-værdier.yes,no,onogoffforbliver strenge, sådan som YAML 1.2-specifikationen kræver.- Ankre og aliasser (
&base,*base) udvides, og merge-nøgler (<<: *base), som er almindelige i CI-filer, understøttes. - En fil med flere dokumenter adskilt af
---bliver til en JSON-liste med ét element pr. dokument, og en meddelelse fortæller, hvor mange der er slået sammen. - Kommentarer udelades, da JSON ikke har kommentarer.
.infog.nanhar ingen JSON-ækvivalent. De skrives som strengene"Infinity"og"NaN".
For at beskytte din browser mod »billion laughs«-filer, hvor nogle få aliasser udvides til milliarder af værdier, afvises et dokument, der udvides til mere end en million værdier.
Almindelige YAML-fejl
- Tabulatorer som indrykning: YAML tillader kun mellemrum.
- Uensartet indrykning: Elementer i den samme liste eller det samme objekt skal begynde i samme kolonne.
- Manglende mellemrum efter kolonet:
key:valueer én enkelt streng, menskey: valueer et nøgle-værdi-par. - Specialtegn uden anførselstegn: En værdi, der begynder med
@, et backtick,*,&eller!, eller som indeholder:eller#, skal sættes i anførselstegn.
Ofte stillede spørgsmål
Bliver min fil sendt til en server?
Nej. Konverteringen kører i din browser, og dine konfigurationsfiler, hemmeligheder eller API-data forlader aldrig din computer.
Hvorfor bliver »yes« og »no« ikke konverteret til booleske værdier?
Siden YAML 1.2 er kun true og false booleske værdier. Ældre YAML 1.1-parsere behandlede yes, no, on og off som booleske værdier, hvilket gav det berømte »Norge-problem« (landekoden NO blev læst som falsk). Dette værktøj følger YAML 1.2.
Bevares YAML-kommentarer?
Nej. JSON har ingen kommentarer, så de går tabt ved YAML → JSON. Når du konverterer JSON → YAML, kan du tilføje kommentarer til resultatet bagefter.
Kan jeg konvertere en Kubernetes-fil med flere ressourcer?
Ja. Hver ressource adskilt af --- bliver til ét element i en JSON-liste. Hvis du konverterer den liste tilbage til YAML, får du ét enkelt dokument, der indeholder en liste.
Ændrer konverteren rækkefølgen af nøgler?
Ikke medmindre du sætter kryds ved Sortér nøgler: Nøglerne beholder den rækkefølge, de har i dit input. Den ene undtagelse kommer fra JavaScript selv: Nøgler, der er hele tal, som "10" eller "2", placeres først i stigende rækkefølge.
Relaterede værktøjer
- JSON-formatering og -validering Gratis JSON-formatering og -validering, der gør JSON pæn, minificerer og tjekker den i din browser, med syntaksfejl angivet med linje og kolonne.
- JSON til CSV-konverter Konvertér JSON til CSV og CSV tilbage til JSON i din browser. Indlejrede nøgler fladgøres til kolonner, skilletegn genkendes, og intet uploades.
- JSON til XML-konverter Konvertér JSON til XML og XML til JSON i din browser, med attributter, gentagne elementer og CDATA håndteret. Intet uploades til en server.