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

JSON-resultat

Sådan bruger du JSON til YAML

  1. Indsæt JSON i venstre felt, eller åbn en .json-fil.
  2. YAML vises til højre, mens du skriver.
  3. 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.
  4. Vælg en citeringsstil, og sæt flueben i Sortér nøgler, hvis du vil have alfabetisk rækkefølge.
  5. 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: no false, så Norges landekode NO forsvinder. Det samme gælder yes, on, off, y og n. YAML 1.2 betragter kun true og false som booleans.
  • Oktaltal: 0755 er oktal i 1.1, men et almindeligt decimaltal i 1.2, som bruger 0o755. Sæt filrettigheder i anførselstegn for en sikkerheds skyld.
  • Sexagesimale tal: i 1.1 kan 22:30 blive 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?
Ja. Ethvert JSON-dokument er gyldig YAML 1.2, og den genererede YAML parses tilbage til præcis de samme data. Du kan tjekke det ved at trykke på Byt om.
Hvorfor er nogle strenge i anførselstegn og andre ikke?
Med Kun når nødvendigt tilføjes anførselstegn kun der, hvor en værdi uden anførselstegn ville skifte betydning, f.eks. 'yes', '123' eller strenge med specialtegn. Alt andet efterlades uden for læsbarhedens skyld.
Kan jeg tilføje kommentarer til outputtet?
JSON har ingen kommentarer, så der er ingen at konvertere, men du kan tilføje # comments til YAML'en, når du har kopieret den.
Ændres nøglernes rækkefølge?
Nej. Nøglerne beholder deres JSON-rækkefølge, medmindre du sætter flueben i Sortér nøgler.
Er mine data private?
Ja. Konverteren kører i din browser og foretager ingen netværksanmodninger med dit input.

Relaterede værktøjer