YAML till JSON

YAML är trevligare att skriva för hand, JSON är trevligare att konsumera programmatiskt, och många moderna verktyg (CI-pipelines, Kubernetes, Ansible) accepterar båda. När du behöver klistra in konfiguration i ett verktyg som insisterar på JSON, API Gateway-definitioner, CloudFormation-mallar, vissa webhook-kroppar, gör den här omvandlaren turen. Ankare, merges och YAML-specifika typer (datum, oktaler, null, ~) normaliseras alla till JSON-motsvarigheter.

Så omvandlar du YAML till JSON

  1. 1

    Klistra in YAML

    Valfritt giltigt YAML 1.1- eller 1.2-dokument.

  2. 2

    Lös upp ankare

    Ankare (`&x`) och alias (`*x`) expanderas inline. Merge-nycklar (`<<`) plattas ut.

  3. 3

    Normalisera typer

    Datum, null-värden, booleska värden omvandlas alla till JSON-motsvarigheter.

  4. 4

    Mata ut JSON

    Snyggt formaterad eller minifierad, ditt val.

Exempelomvandling

YAML:

defaults: &defaults
  timeout: 30
  retries: 3

production:
  <<: *defaults
  host: prod.example.com
  debug: false

staging:
  <<: *defaults
  host: staging.example.com
  debug: true

JSON (ankare upplösta):

{
  "defaults": {
    "timeout": 30,
    "retries": 3
  },
  "production": {
    "timeout": 30,
    "retries": 3,
    "host": "prod.example.com",
    "debug": false
  },
  "staging": {
    "timeout": 30,
    "retries": 3,
    "host": "staging.example.com",
    "debug": true
  }
}

Typmappningar

YAML JSON
Sträng Sträng
Heltal Tal
Flyttal Tal
Booleskt (true, false) Booleskt
Null (null, ~, tomt) null
Tidsstämpel ISO 8601-sträng
Sekvens (lista) Array
Mappning Objekt

YAML-specifika saker som JSON inte kan representera

  • Kommentarer. JSON har ingen standardsyntax för kommentarer. Kommentarer tas bort.
  • Flerdokumentströmmar (----avgränsare). JSON är ett dokument per fil; omvandlaren avger en array av dokument när det finns flera.
  • Ankare och alias. Upplösta och duplicerade inline.
  • Komplexa nycklar (mappningsnycklar som inte är strängar). JSON-nycklar måste vara strängar; komplexa nycklar görs om till strängar.

Fällan 1.1 mot 1.2

  • YAML 1.1 tolkar yes, no, on, off, y, n som booleska värden. NO som en landskod blir tyst false.
  • YAML 1.2 begränsar booleska värden till true och false. Säkrare men många tolkar (inklusive PyYAML som standard) använder fortfarande 1.1.

Omvandlaren använder 1.2-semantik som standard och varnar när 1.1 skulle ha ändrat resultatet.

Tur och retur från JSON tillbaka till YAML

JSON till YAML är oftast förlustfritt (JSON är en delmängd av YAML 1.2-syntaxen). YAML till JSON är förlustbringande: kommentarer och merge-nyckelstruktur försvinner. Om du planerar att gå tur och retur, bevara den ursprungliga YAML:en i versionshantering.

Vanliga frågor

Nej, de har sin egen mallning som körs innan YAML-tolkning. Rendera mallen först (med kustomize build eller helm template), och mata sedan in utdatan här.

YAML-tidsstämplar blir ISO 8601-strängar i JSON. 2026-04-18 blir "2026-04-18". Tider och tidszoner bevaras.

Praktisk gräns i webbläsaren är runt 10 MB. För större filer, använd yq eller python -c "import yaml, json; print(json.dumps(yaml.safe_load(open(file))))" på kommandoraden.

Nej. Omvandlingen körs i din webbläsare och ingenting överförs.

Relaterade verktyg

Verktyget finns på andra språk