JSON till YAML

Klistra in JSON och få tillbaka ren YAML – korrekt indentering med två blanksteg, strängar inom citattecken bara när det behövs, flerradiga värden som blockskalärer samt valfri alfabetisk sortering av nycklar. Användbart för att konvertera API-svar till Kubernetes-manifest, GitHub Actions-konfigurationer eller andra verktyg som har YAML som modersmål.

Så konverterar du JSON till YAML

  1. 1

    Klistra in JSON

    All giltig JSON. Omvandlaren bevarar den semantiska strukturen exakt.

  2. 2

    Välj indentering och stil

    2 eller 4 blanksteg, flödesstil för kompakta arrayer/objekt eller blockstil för långa format.

  3. 3

    Valfritt: sortera nycklar

    Alfabetisk sortering gör det enklare att jämföra YAML mellan två versioner.

  4. 4

    Kopiera YAML

    Klistra in i din `.yaml`/`.yml`-fil. Utdata är giltig YAML 1.2.

Exempel

Inmatning:

{
  "name": "hyperion",
  "replicas": 3,
  "env": { "DEBUG": "false", "LOG_LEVEL": "info" },
  "command": ["php", "artisan", "queue:work"]
}

Utgång:

name: hyperion
replicas: 3
env:
  DEBUG: "false"
  LOG_LEVEL: info
command:
  - php
  - artisan
  - queue:work

Typmappning

JSON YAML
sträng utan citattecken, med citattecken eller blockskalär efter behov
heltal 42
tal 3.14
booleskt värde true / false
null null (eller ~, eller tom)
array blocksekvens med - eller flöde [...]
objekt blockmappning med key: value eller flöde {...}

När strängar behöver citeras

YAML tolkar vissa strängar automatiskt som icke-strängar. Värden som ser ut så här kräver citattecken:

Värde Varför citattecken behövs
yes, no, on, off Tolkas som booleska värden (kompatibilitet med YAML 1.1)
null, Null, NULL Tolkas som null
1.23 Tolkas som ett tal
2026-04-18 Tolkas som datum
Inledande/avslutande blanksteg Tas bort
Börjar med *, &, ! YAML-direktiv

Omvandlaren sätter automatiskt dessa inom citattecken, medan resten lämnas utan för bättre läsbarhet.

Designskillnader mellan YAML och JSON

  • Kommentarer: YAML har dem (#), medan JSON inte har dem.
  • Ankare/alias: YAML stöder korsreferenser (&anchor / *alias); JSON upprepar samma data. Konverteringen kan inte automatiskt identifiera dessa – lägg till dem manuellt om du vill.
  • Flerradiga strängar: YAML har blockskalärer (| bevarar radbrytningar, > viker ihop dem). Omvandlaren använder dessa för långa strängar.
  • Null-representation: YAML tillåter null, ~ eller tomt värde. Omvandlaren genererar null som standard.

Vanliga misstag

  • YAML 1.1:s “Norge-problem”. Utan citattecken är NO det logiska värdet false i YAML 1.1. De flesta moderna parsrar använder YAML 1.2, där bara true/false är booleska, men vissa äldre verktyg ställer fortfarande till det.
  • Efterföljande blanksteg i värden. YAML bevarar dem i blockskalärer men tar bort dem i vanliga skalärer. Det kan bli oväntat om du inte vet vilken form du fått.
  • Tabbar i indenteringen. YAML förbjuder indentering med tabbar; använd alltid blanksteg.
  • Mycket långa strängar på en enda rad. Dela upp dem i blockskalärer för bättre läsbarhet; omvandlaren gör detta automatiskt när ett konfigurerbart tröskelvärde överskrids.

Vanliga frågor

Strängar som liknar andra YAML-typer (booleska värden, tal, datum, null) kräver citattecken för att behålla sin strängform. Strängar med särskilda tecken (till exempel ledande tomrum eller tecken som inte kan skrivas ut) måste också citeras. Omvandlaren upptäcker detta automatiskt och lägger citattecken där det behövs.

YAML 1.2 som standard. Om du behöver kompatibilitet med YAML 1.1 (äldre verktyg, vissa CI-system) aktiverar du “YAML 1.1-kompatibilitet”; omvandlaren lägger då till extra citattecken för värden som skulle vara booleska under 1.1 (yes, no, on, off).

Ja. Flödesstilen ([1, 2, 3] och { a: 1 }) är tillgänglig för kompakta arrayer och objekt. De flesta konfigurationsfiler föredrar blockstilen för lättläsbarhet.

Ja, med ett förbehåll: K8s YAML bygger ofta på kommentarer och ankare som JSON inte kan uttrycka. Omvandla datastrukturen och lägg sedan till kommentarer eller ankare manuellt.

Relaterade verktyg

Verktyget finns på andra språk