PK Systems PK Systems
Ontwikkelaarstools

JSON ↔ YAML-converter

Round-trip tussen JSON en YAML in je browser — perfect voor Kubernetes, GitHub Actions, Helm en CI-configs.

JSON ↔ YAML-converter

Uitvoer

Klik op "Converteren" om de conversie uit te voeren.

Waar is YAML goed voor?

YAML is JSON's vriendelijkere neef: hetzelfde datamodel (objecten, arrays, strings, getallen, booleans, null), maar met witruimte-significante inspringing in plaats van haakjes, plus ondersteuning voor comments. Daardoor is YAML het dominante formaat voor handmatig bewerkte configbestanden — Kubernetes-manifests, Helm values, GitHub Actions-workflows, CI-pipelines, Docker Compose, Ansible-playbooks en de meeste moderne app-configs leven in YAML. JSON daarentegen domineert wire-formaten en API's omdat elke taal het zonder nadenken kan parsen. Deze converter laat je zonder de browser te verlaten tussen beide kantelen. JSON → YAML doe je wanneer je een API-response wilt omzetten naar een Kubernetes-manifest, of een Postman-collectie wilt herformatteren voor een tutorial. YAML → JSON doe je wanneer een tool JSON eist en je config YAML is, of wanneer je een YAML-bestand wilt valideren tegen een JSON Schema. Alles wordt direct in je browser-tab geconverteerd — geen upload, geen logging, geen kopie van je manifests op andermans server. Dat maakt de tool veilig zelfs voor productie-Helm-values of workflow-bestanden met interne hostnamen, geheimen-referenties en infrastructuurdetails.

Zo gebruik je het

Kies een richting, plak je data, klik op Converteren. Het resultaat verschijnt eronder met een kopieerknop.

  1. Kies de richting — Gebruik JSON → YAML om API-responses of gegenereerde configs in iets te veranderen wat mensen kunnen bewerken. Gebruik YAML → JSON wanneer een tool JSON nodig heeft of je een YAML-config naar een HTTP-API wilt sturen.
  2. Probeer een preset — Klik op Kubernetes Service, GitHub Action of App-config om een representatief voorbeeld te laden dat je kunt bewerken en converteren. De preset komt overeen met je huidige richting.
  3. Kies inspringing — 2 spaties is wat de meeste YAML-linters en ecosysteem-tools verwachten (Kubernetes, Ansible, Helm). Gebruik 4 spaties alleen als je team daar expliciet op staat.
  4. Sorteer keys voor stabiele diffs — Schakel Keys A→Z sorteren aan voor alfabetisch geordende uitvoer. Geweldig voor git-diffs en snapshot-tests wanneer twee tools dezelfde data met verschillende key-volgorde uitvoeren.

Mapping-regels tussen formaten

Beide formaten delen hetzelfde logische model, dus de meeste waarden round-trippen identiek. Strings, getallen, booleans, null, arrays en objecten mappen één-op-één. De converter volgt de moderne YAML 1.2-spec, die (in tegenstelling tot YAML 1.1) niet yes, no, on, off als booleans behandelt — alleen true en false — dus je vermijdt het legendarische "Norway-probleem" waar de landcode NO stilletjes de boolean false wordt. Multi-line strings in YAML gebruiken literal (|) of folded (>) blokken; vanuit JSON converteren geeft dit gewone aangehaalde strings met \n-escapes voor portabiliteit. Comments bestaan alleen in YAML; JSON → YAML → JSON gooit comments weg omdat JSON er nergens kwijt mee kan.

Snelreferentie

Een handvol waarden en hoe ze tussen de twee formaten vertaald worden.

JSON YAML
{ "a": 1 }a: 1
[1, 2, 3]- 1
- 2
- 3
"yes"'yes' (aangehaald om het een string te houden)
nullnull (of leeg / ~)
"line\nbreak""line\nbreak"
{ "n": 1.0 }n: 1.0 (blijft een float)

Veelgestelde vragen

Waarom toont mijn YAML de string "true" als boolean?

YAML behandelt niet-aangehaalde true en false als booleans. Wil je de letterlijke vier-letter-string, haal hem aan: flag: "true". De converter respecteert wat je schreef.

Verwerkt het multi-document YAML-bestanden?

YAML ondersteunt meerdere documenten in één bestand, gescheiden door ---. Deze converter parseert alleen het eerste document bij JSON. Voor Kubernetes-manifest-bundels: split je bestand voor het plakken, of converteer elk document apart.

Waarom zijn mijn YAML-comments weg na de round-trip?

JSON ondersteunt geen comments. Bij YAML → JSON worden alle comments weggegooid. De omgekeerde reis JSON → YAML kan ze niet terughalen. Bewaar een kopie van de YAML als comments belangrijk voor je zijn.

Is de conversie verliesloos voor typische configs?

Voor Kubernetes, GitHub Actions, Docker Compose en vergelijkbare configs — ja, met als enige verlies comments en de specifieke stijl van multi-line strings. Getallen, datums geparseerd als ISO-strings, booleans, geneste maps en arrays round-trippen allemaal schoon.

Hoe zit het met anchors en aliases (&ref / *ref)?

Anchors en aliases worden tijdens parsen opgelost, dus de JSON-uitvoer bevat de gematerialiseerde waarden waarnaar de YAML verwees. De omgekeerde richting introduceert anchors niet automatisch — als je ze gebruikt om DRY-configs kort te houden, voeg ze handmatig toe na conversie terug naar YAML.

Wordt er iets naar een server gestuurd?

Nee. De hele conversie draait volledig binnen je browser-tab, dus de YAML of JSON die je plakt — inclusief productie-manifests, geheimen-referenties en interne infrastructuurnamen — bereikt onze servers of derden nooit.