Naar de inhoud
helpyself

YAML naar JSON

Local only — nothing is uploaded unless you save or share it.

Zet een configuratiebestand om naar JSON, of JSON terug naar leesbare YAML.

  1. Plak je YAML, of JSON als je de andere kant op wilt
  2. Kies de inspringing en of sleutels gesorteerd moeten worden
  3. Converteer en kopieer of download het resultaat

Deel een link

Bewaart dit in je bestanden en geeft je een adres dat iedereen kan openen. Hij vervalt vanzelf.

Link blijft geldig
Bewaar deze tool

Houd YAML naar JSON bij de hand

Bewaar als bladwijzer

Over deze tool

YAML is waarin configuratie geschreven wordt en JSON is wat de meeste dingen lezen, dus deze omzetting zit tussen een bestand dat een mens bewerkt en een programma dat het inleest. YAML is veel minder eenvoudig dan het lijkt. Ankers laten één blok elders hergebruiken, blokscalairen vouwen of behouden regeleinden afhankelijk van één leesteken, impliciete typering maakt stilletjes van het woord no een false, en één bestand kan meerdere documenten bevatten, gescheiden door drie streepjes. Een ruwe parser doet het meeste daarvan en faalt op de rest in stilte, met geldig ogende JSON met de verkeerde waarden erin, dus gebruikt dit een volledige YAML-implementatie. Waar mensen eigenlijk het meest aan hebben is de foutmelding. Vrijwel elke YAML-fout is een inspringfout, en inspringfouten vallen een aantal regels lager op dan waar ze gemaakt zijn, dus wordt het regelnummer gemeld in plaats van een algemene klacht dat er iets mis is. Bevat een bestand meerdere documenten, dan worden ze een JSON-array en krijg je dat te horen, want alleen de eerste bewaren zou zonder een woord gegevens laten verdwijnen. Alles draait in je browser.

Veelgestelde vragen

Waarom faalt mijn YAML een paar regels onder de fout?

Omdat de inspringing de structuur is. Een blok dat één spatie te ver is ingesprongen blijft geldig totdat iets verderop het tegenspreekt, en dáár protesteert de parser uiteindelijk. Begin bij de gemelde regel en lees omhoog tot de laatste regel waarvan je de inspringing zeker weet.

Kan het ook JSON naar YAML omzetten?

Beide kanten op. JSON naar YAML is wat mensen willen als een configuratiebestand door een mens bewerkt moet worden — de aanhalingstekens en accolades gaan weg, de inspringing draagt de structuur. Zet YAML de andere kant op om als een programma JSON wil. Als yaml-parser doet het meteen dienst als validator: een bestand dat niet parseert noemt de regel in plaats van later stilletjes te falen.

Wat gebeurt er met een bestand met meerdere documenten?

Ze worden een JSON-array, één item per document, en het aantal staat boven het resultaat. JSON heeft geen manier om een documentscheiding uit te drukken, en alleen de eerste bewaren zou de rest stilletjes weggooien, dus wordt de verandering zichtbaar gemaakt.

Waarom werd het woord no een false?

Dat is YAML die doet wat er gespecificeerd staat. In YAML 1.1 zijn de woorden yes, no, on en off booleans, wat mensen met een landcode of een antwoordveld verrast. Zet de waarde tussen aanhalingstekens in je YAML als je wilt dat hij een tekenreeks blijft.

Waarom zou ik de sleutels sorteren?

Om twee versies van dezelfde configuratie te vergelijken. Een met de hand geschreven versie en een door een tool gemaakte noemen dezelfde instellingen in een andere volgorde, en een diff daarvan is onleesbaar. Beide sorteren zet elke sleutel op dezelfde plek, zodat alleen echte verschillen opvallen.

Blijven commentaren behouden bij het omzetten?

Nee, en dat kan ook niet. JSON kent geen commentaarsyntaxis, dus alles na een hekje gaat onderweg verloren. JSON terug naar YAML omzetten levert een schoon bestand op zonder de oorspronkelijke commentaren, wat goed is om te weten voordat je het bestand overschrijft waarmee je begon.

Help deze tool beter te maken

Een fout gevonden, iets anders willen, of mis je een tool?

/yaml-to-json

↑↓ om te bewegen · Enter om te openen · Esc om te sluiten