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
Så använder du JSON till YAML
- Klistra in JSON i vänstra rutan eller öppna en
.json-fil. - YAML visas till höger medan du skriver.
- 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å. - Välj citatstil och kryssa i Sortera nycklar om du vill ha alfabetisk ordning.
- 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: nofalse, så Norges landskodNOförsvinner. Detsamma gälleryes,on,off,yochn. YAML 1.2 behandlar baratrueochfalsesom booleska värden. - Oktala tal:
0755är oktalt i 1.1 men ett vanligt decimaltal i 1.2, som använder0o755. Citera filrättigheter för säkerhets skull. - Sexagesimala tal: i 1.1 kan
22:30tolkas 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?
Varför citeras vissa strängar men inte andra?
'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?
# comments i YAML-koden efter att du kopierat den.