JSON naar YAML

Plak JSON en krijg schone YAML terug: correcte inspringing met twee spaties, strings alleen tussen aanhalingstekens wanneer nodig, meerregelige waarden weergegeven als blokscalairen en optionele alfabetische sortering van sleutels. Handig om API-responses om te zetten naar Kubernetes-manifests, GitHub Actions-configuraties of andere tools die YAML als native formaat gebruiken.

Hoe je JSON omzet in YAML

  1. 1

    Plak JSON

    Elke geldige JSON. De converter behoudt de semantische structuur exact.

  2. 2

    Inspringing en stijl kiezen

    2 of 4 spaties; flow-stijl voor compacte arrays/objecten, of blokstijl voor lange vormen.

  3. 3

    Optioneel: sleutels sorteren

    Alfabetische sortering maakt het makkelijker om YAML tussen twee versies te vergelijken.

  4. 4

    Kopieer de YAML

    Plak het in je `.yaml`/`.yml`-bestand. De uitvoer is geldige YAML 1.2.

Voorbeeld

Invoer:

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

Uitvoer:

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

Type-mapping

JSON YAML
string zonder aanhalingstekens, tussen aanhalingstekens of blokscalair, naargelang nodig
geheel getal 42
getal 3.14
boolean true / false
null null (of ~, of leeg)
array bloksequentie met - of flow [...]
object blok-mapping met key: value of flow {...}

Wanneer strings tussen aanhalingstekens moeten worden geplaatst

YAML interpreteert bepaalde strings automatisch als niet-stringen. Waarden die op dergelijke lijken, moeten tussen aanhalingstekens worden geplaatst:

Waarde Waarom aanhalingstekens nodig zijn
yes, no, on, off Geïnterpreteerd als booleans (compatibel met YAML 1.1)
null, Null, NULL Geïnterpreteerd als null
1.23 Geïnterpreteerd als getal
2026-04-18 Geïnterpreteerd als datum
Voorloop-/volgspaties Worden verwijderd
Begint met *, &, ! YAML-directieven

De converter citeert deze automatisch, terwijl de rest niet wordt geciteerd voor betere leesbaarheid.

Verschillen in ontwerp tussen YAML en JSON

  • Commentaren: YAML ondersteunt dit (#); JSON niet.
  • Ankers/alias: YAML ondersteunt kruisverwijzingen (&anchor/*alias); JSON herhaalt de gegevens. De omzetting kan deze niet automatisch afleiden; voeg ze handmatig toe als u dat wenst.
  • Meerregelige strings: YAML ondersteunt blokscalairen (| behoudt nieuwe regels, > vouwt ze samen). De converter gebruikt deze voor lange strings.
  • Null-representatie: YAML ondersteunt null, ~ of een lege waarde. De converter genereert standaard null.

Veelvoorkomende fouten

  • Het ‘Noorwegen-probleem’ van YAML 1.1. Zonder aanhalingstekens is NO in YAML 1.1 de booleanwaarde false. De meeste moderne parsers gebruiken YAML 1.2, waarin alleen true/false booleans zijn, maar sommige oudere tools hebben er nog steeds last van.
  • Volgspaties in waarden. YAML behoudt ze in blokscalairen, maar verwijdert ze in gewone scalairen. Onverwacht als je niet weet welke vorm je hebt.
  • Tabs in de inspringing. YAML verbiedt inspringen met tabs; gebruik altijd spaties.
  • Zeer lange strings op één regel. Splits ze op in blokscalairen voor de leesbaarheid; de converter doet dit automatisch boven een instelbare drempel.

Veelgestelde vragen

Strings die op andere YAML-typen lijken (booleans, getallen, datums, null) hebben aanhalingstekens nodig om strings te blijven. Strings met speciale tekens (voorloopspaties, niet-afdrukbare tekens) hebben die ook nodig. De converter detecteert dit automatisch en plaatst aanhalingstekens waar nodig.

YAML 1.2 als standaardinstelling. Als u compatibiliteit met YAML 1.1 nodig hebt (bij oudere tools of bepaalde CI-systemen), activeer ‘YAML 1.1-compatibiliteit’; de converter voegt dan extra aanhalingstekens toe voor waarden die onder YAML 1.1 als boolwaarden worden behandeld (yes, no, on, off).

Ja. De flowstijl ([1, 2, 3] en { a: 1 }) is beschikbaar voor compacte arrays en objecten. De meeste configuratiebestanden geven de voorkeur aan de blokstijl vanwege de leesbaarheid.

Ja, met één voorbehoud: K8s YAML maakt vaak gebruik van commentaren en anchors die JSON niet kan weergeven. Zet de gegevensstructuur om en voeg daarna commentaren/anchors handmatig toe.

Gerelateerde tools

Tool beschikbaar in andere talen