YAML omzetten naar JSON
Deze tool zet een YAML-bestand om naar JSON in je browser, zodat een Kubernetes-manifest, een Docker Compose-bestand of een CI-pipeline iets wordt dat een script als JSON kan lezen. Typen volgen het YAML 1.2-kernschema: een getal, true, false en null behouden hun type, terwijl on, yes, no en een datum zoals 2024-01-01 tekenreeksen blijven, dezelfde interpretatie die GitHub Actions en de meeste actuele tooling gebruiken. Een anchor, een alias en een merge-sleutel (<<) worden opgelost, en elke alias wordt volledig uitgeschreven als eigen kopie, omdat JSON geen referenties kent; een bestand waarvan de aliassen meer dan tien miljoen tekens zouden toevoegen, of dat naar zichzelf verwijst, wordt geweigerd. Een bestand met meerdere documenten, gescheiden door ---, geeft één JSON-bestand per document, in volgorde, en een leeg document, zoals er een kan overblijven na een afsluitende ---, wordt overgeslagen. Commentaar is geen data en valt weg. Je bestand wordt nooit geüpload.
Draait in je browser
Sleep hier een bestand naartoe
YAML, tot 50 MB
Hoe het werkt
- 1 Kies een YAML-bestand.
- 2 Stel de inspringing in tussen 0 en 8 spaties. 2 is de standaard, 0 minificeert.
- 3 GRID16 leest het document en zet het om in je browser.
- 4 Download de JSON.
Vragen
- Worden getallen en booleans omgezet?
- Ja, volgens het YAML 1.2-kernschema: een getal, true, false en null behouden hun type. Maar on, yes, no en een datum zoals 2024-01-01 blijven tekenreeksen, want zo lezen GitHub Actions en de meeste actuele tooling ze.
- Wat gebeurt er met anchors, aliassen en merge-sleutels?
- Die worden opgelost, en elke alias wordt volledig uitgeschreven als eigen kopie, omdat JSON geen referenties kent. Een bestand waarvan de aliassen meer dan tien miljoen tekens zouden toevoegen, of een alias die naar zichzelf verwijst, wordt geweigerd.
- Wat gebeurt er met een bestand dat meerdere documenten bevat?
- Elk document, gescheiden door ---, wordt een eigen JSON-bestand, genummerd in volgorde. Een leeg document, zoals er een kan overblijven na een afsluitende ---, wordt overgeslagen.
- En een aangepaste tag zoals !Ref of !reference?
- De opdracht wordt geweigerd. Een tag zoals CloudFormations !Ref of GitLabs !reference draagt een betekenis die alleen de eigen tool kan oplossen.
- Wat gebeurt er bij ongeldige YAML, of bij .inf en .nan?
- Een dubbele sleutel, verkeerde inspringing of andere ongeldige YAML stopt de opdracht met de melding van de parser, inclusief regel en kolom. .inf, -.inf en .nan worden ook geweigerd, omdat JSON ze niet kan bevatten.
- Wordt mijn bestand naar een server geüpload?
- Nee. Het omzetten gebeurt in je browser; het bestand verlaat je apparaat nooit.