JSON til YAML-konverter
Gør JSON til ren, menneskevenlig YAML til Kubernetes, Docker Compose, GitHub Actions eller Ansible, med fuld kontrol over indrykning, stil og anførselstegn.
Kører i din browserIngen tilmeldingIntet uploades
Sådan bruger du JSON til YAML
- Indsæt JSON i venstre felt, eller åbn en
.json-fil. - YAML vises til højre, mens du skriver.
- Vælg indrykning (2 eller 4 mellemrum) og stil: blok (én nøgle pr. linje) eller flow (
{a: 1}/[x, y]) fra et bestemt indlejringsniveau. - Vælg en citeringsstil, og sæt flueben i Sortér nøgler, hvis du vil have alfabetisk rækkefølge.
- Kopiér eller download YAML'en. Ugyldig JSON rapporteres med linje, kolonne og sandsynlig årsag.
Hvorfor konvertere JSON til YAML?
JSON er ideelt til maskiner og API'er, men YAML er nemmere for mennesker at læse og redigere: ingen krøllede parenteser, ingen obligatoriske anførselstegn og understøttelse af kommentarer. De fleste infrastrukturværktøjer, herunder Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI og Ansible, konfigureres i YAML, mens de data, du starter med (API-output, kubectl get -o json, Terraform-state), ofte er JSON.
Blok- vs. flow-stil
Blokstil sætter hver nøgle og hvert listeelement på sin egen linje og er det almindelige valg til konfigurationsfiler. Flow-stil bruger inline {} og [] som JSON og holder korte bladstrukturer kompakte. “Flow fra niveau 2” holder de to øverste niveauer i blokstil og skriver alt dybere inline, hvilket fungerer godt til lange lister af små objekter som porte eller miljøvariabler.
Sikker citering
Strenge, som en YAML-parser kunne misforstå, sættes automatisk i anførselstegn: værdier som 'no', 'on', '1.0', 'null', strenge, der starter med * eller &, og strenge, der indeholder : . Vælg Altid enkelte eller Altid dobbelte, hvis din stilguide kræver, at alle strenge citeres.
Faldgruber i YAML 1.1 vs. 1.2
Konverteren følger YAML 1.2, den gældende specifikation. Mange ældre værktøjer (PyYAML, Rubys Psych, nogle Kubernetes- og Ansible-versioner) læser stadig YAML 1.1, hvor reglerne er anderledes:
- Norge-problemet: i YAML 1.1 betyder
country: nofalse, så Norges landekodeNOforsvinder. Det samme gælderyes,on,off,yogn. YAML 1.2 betragter kuntrueogfalsesom booleans. - Oktaltal:
0755er oktal i 1.1, men et almindeligt decimaltal i 1.2, som bruger0o755. Sæt filrettigheder i anførselstegn for en sikkerheds skyld. - Sexagesimale tal: i 1.1 kan
22:30blive parset som tallet 1350. Sæt klokkeslæt og port-mappings som"8080:80"i anførselstegn.
Retningen JSON → YAML citerer automatisk tvetydige strenge ('no', 'on', 'y'), så den YAML, der genereres, læses ens i begge versioner.
Ofte stillede spørgsmål
Er konverteringen tabsfri?
Hvorfor er nogle strenge i anførselstegn og andre ikke?
'yes', '123' eller strenge med specialtegn. Alt andet efterlades uden for læsbarhedens skyld.Kan jeg tilføje kommentarer til outputtet?
# comments til YAML'en, når du har kopieret den.