YAML naar JSON omzetten en valideren
Zet YAML om naar JSON in je browser: niets wordt geüpload, er is geen limiet op de grootte en ongeldige YAML toont de regel en het teken van de fout, dus het werkt ook als validator.
Zo werkt het
-
Plak je code
Plak de code in het linkervak of open een bestand. Geen code bij de hand? Klik op Voorbeeld.
-
Direct resultaat
De uitkomst verschijnt terwijl je typt. Is er een fout, dan zie je op welke regel en welk teken.
-
Kopieer of download
Kopieer het resultaat met één klik of sla het op als bestand voor je editor of project.
Wat wordt omgezet?
- Commentaar met
#verdwijnt, omdat JSON geen commentaar kent. - Ankers en aliassen (
&standaarden*standaard) worden volledig uitgeschreven. - Meerdere documenten, gescheiden door
---, worden samengevoegd tot één JSON-array. true,false,nullen getallen worden echte JSON-waarden;yesennoblijven tekst (zoals in YAML 1.2).
Configs bevatten vaak geheimen
Een docker-compose.yml, een Kubernetes-manifest of een CI-pijplijn kan wachtwoorden, tokens en interne hostnamen bevatten. Omdat deze omzetter in je browser draait, kun je echte bestanden valideren of omzetten zonder ze naar een server te sturen. Haal toch geheimen weg voordat je de uitvoer deelt.
Controleer een bestand voor je uitrolt
Plak je YAML om te zien of hij parset. Een omgezet resultaat dat anders is dan je verwachtte wijst op een probleem met inspringing: een sleutel die op de verkeerde plek terecht is gekomen wordt zichtbaar in de JSON-structuur, waar nesting met accolades expliciet is.
Veelgemaakte YAML-fouten
- Tabs gebruiken om in te springen. YAML accepteert alleen spaties.
- Ongelijke inspringing: alle sleutels op hetzelfde niveau moeten precies gelijk inspringen.
- Een dubbele punt in een waarde zonder aanhalingstekens, zoals
titel: Let op: nieuw. Zet de waarde tussen aanhalingstekens.
Het "Noorwegen-probleem" en andere verrassingen
YAML 1.1 leest yes, no, on en off als boolean, en NO (de landcode van Noorwegen) als onwaar. Deze omzetter volgt YAML 1.2, waar alleen true en false booleans zijn, maar andere tools lezen ze misschien nog op de oude manier. Zet waarden die verkeerd gelezen kunnen worden tussen aanhalingstekens. Getallen met een voorloopnul (0123), versies als 1.10 en tijdachtige waarden (12:30) zijn andere klassiekers, dus quote ze als je tekst wilt.
Meerdere documenten
Een bestand met meerdere documenten gescheiden door --- wordt een JSON-array, één item per document. Dat is de gebruikelijke vorm van een Kubernetes-manifest met meerdere resources.
Terug naar YAML? Gebruik JSON naar YAML. Om de JSON comfortabel te lezen zie je de JSON formatter.
Veelgestelde vragen
Welke YAML-versie volgt het?
YAML 1.2. Alleen true en false zijn booleans. Oudere tools die 1.1 volgen lezen ook yes, no, on en off als boolean.
Wat gebeurt er met mijn commentaar?
Dat verdwijnt, omdat JSON geen commentaar kent.
Waarom geeft mijn YAML een foutmelding?
Veelvoorkomende oorzaken zijn tabs voor inspringing, ongelijke inspringing, of een dubbele punt gevolgd door een spatie in een waarde zonder aanhalingstekens.
Wordt mijn YAML geüpload?
Nee. Hij wordt in je browser omgezet en nergens heen gestuurd.