JSON till YAML-konverterare

Gör om JSON till ren, lättläst YAML för Kubernetes, Docker Compose, GitHub Actions eller Ansible, med full kontroll över indrag, stil och citattecken.

Körs i din webbläsareIngen registreringInget laddas upp

JSON-utdata

Så använder du JSON till YAML

  1. Klistra in JSON i vänstra rutan eller öppna en .json-fil.
  2. YAML visas till höger medan du skriver.
  3. Välj indrag (2 eller 4 mellanslag) och stil: block (en nyckel per rad) eller flow ({a: 1}/[x, y]) från en viss nästlingsnivå.
  4. Välj citatstil och kryssa i Sortera nycklar om du vill ha alfabetisk ordning.
  5. Kopiera eller ladda ner YAML-koden. Ogiltig JSON rapporteras med rad, kolumn och trolig orsak.

Varför konvertera JSON till YAML?

JSON är perfekt för maskiner och API:er, men YAML är lättare för människor att läsa och redigera: inga klammerparenteser, inga obligatoriska citattecken och stöd för kommentarer. De flesta infrastrukturverktyg, bland annat Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI och Ansible, konfigureras i YAML, medan datan du utgår från (API-svar, kubectl get -o json, Terraform-state) ofta är JSON.

Block- eller flow-stil

Block-stil lägger varje nyckel och listelement på en egen rad och är standardvalet för konfigurationsfiler. Flow-stil använder inline-{} och [], som JSON, och håller korta lövstrukturer kompakta. ”Flow från nivå 2” behåller de två översta nivåerna i block-stil och skriver allt djupare inline, vilket passar bra för långa listor med små objekt som portar eller miljövariabler.

Säker citering

Strängar som en YAML-parser kan feltolka citeras automatiskt: värden som 'no', 'on', '1.0', 'null', strängar som börjar med * eller & och strängar som innehåller : . Välj Alltid enkla eller Alltid dubbla om din stilguide kräver att alla strängar citeras.

Fallgropar i YAML 1.1 och 1.2

Den här konverteraren följer YAML 1.2, den aktuella specifikationen. Många äldre verktyg (PyYAML, Rubys Psych, vissa versioner av Kubernetes och Ansible) läser fortfarande YAML 1.1, där reglerna skiljer sig:

  • Norgeproblemet: i YAML 1.1 betyder country: no false, så Norges landskod NO försvinner. Detsamma gäller yes, on, off, y och n. YAML 1.2 behandlar bara true och false som booleska värden.
  • Oktala tal: 0755 är oktalt i 1.1 men ett vanligt decimaltal i 1.2, som använder 0o755. Citera filrättigheter för säkerhets skull.
  • Sexagesimala tal: i 1.1 kan 22:30 tolkas som talet 1350. Citera tider och portmappningar som "8080:80".

I riktningen JSON → YAML citeras tvetydiga strängar ('no', 'on', 'y') automatiskt, så den YAML som skapas tolkas likadant i båda versionerna.

Vanliga frågor

Är konverteringen förlustfri?
Ja. Varje JSON-dokument är giltig YAML 1.2, och den genererade YAML-koden tolkas tillbaka till exakt samma data. Du kan kontrollera det genom att trycka på Byt.
Varför citeras vissa strängar men inte andra?
Med Bara vid behov läggs citattecken bara till där ett ociterat värde skulle ändra betydelse, till exempel 'yes', '123' eller strängar med specialtecken. Allt annat lämnas utan citattecken för läsbarhetens skull.
Kan jag lägga till kommentarer i resultatet?
JSON har inga kommentarer, så det finns inga att konvertera, men du kan lägga till # comments i YAML-koden efter att du kopierat den.
Ändras ordningen på nycklarna?
Nej. Nycklarna behåller sin JSON-ordning om du inte kryssar i Sortera nycklar.
Är min data privat?
Ja. Konverteraren körs i din webbläsare och gör inga nätverksanrop med din indata.

Relaterade verktyg