Fügen Sie JSON oder YAML ein, wählen Sie die Richtung und lesen Sie das andere Format im selben Feld. Geparst wird im Browser, Kommentare und die ursprüngliche Formatierung entfallen, Fehler werden mit ihrer Position gemeldet.
Läuft lokal in deinem BrowserEin Textfeld wandelt in beide Richtungen um. YAML → JSON liest die Eingabe als YAML und gibt das passende JSON aus; JSON → YAML liest striktes JSON und schreibt daraus YAML. Diese beiden Schaltflächen sind die einzigen Bedienelemente, die Richtung ist also immer eindeutig.
Beide Parser gehören zur Seite und laufen in diesem Tab. Es wird nichts hochgeladen, die Umwandlung funktioniert nach dem Laden auch ohne Netzverbindung, und der Text bleibt auf Ihrem Rechner.
JSON → YAML nutzt den JSON-Parser des Browsers, die Eingabe muss also gültiges JSON sein: Schlüssel in doppelten Anführungszeichen, keine Kommentare, kein abschließendes Komma, keine Werte ohne Anführungszeichen. Das YAML schreibt der mitgelieferte YAML-1.2-Generator: zwei Leerzeichen Einrückung, „|-“-Blockskalare für Zeichenketten mit Zeilenumbrüchen und Anführungszeichen nur dort, wo der Wert sonst seinen Typ ändern würde.
YAML → JSON liest das Kern-Schema 1.2. true und false sind boolesche Werte, yes, no, on und off bleiben Text; 0x1F und 0o17 sind Zahlen, 1_000 bleibt eine Zeichenkette; ein Datum wie 2024-01-02 bleibt die Zeichenkette „2024-01-02“, statt zu einem Zeitstempel zu werden. Das Ergebnis ist JSON mit zwei Leerzeichen Einrückung.
Aliase und Merge-Schlüssel werden beim Lesen aufgelöst. Eine Map, die „base: &b“ mit „<<: *b“ teilt, kommt im JSON mit den geerbten Schlüsseln an; ein wörtlicher Schlüssel „<<“ bleibt nicht übrig. JSON kennt keine Anker, ein Hin und Zurück ergibt also ein gewöhnliches Objekt.
Durch „---“ getrennte Dokumente werden der Reihe nach einzeln umgewandelt. Drei Dokumente ergeben ein JSON-Array mit drei Einträgen, und die Statuszeile nennt „3 Dokumente“; lässt sich eines nicht lesen, nennt die Meldung dieses Dokument, und das Ergebnisfeld wird geleert.
Doppelte Schlüssel werden unterschiedlich behandelt: JSON behält still den letzten Wert, YAML mit doppeltem Schlüssel wird mit einer Meldung abgelehnt. Ganze Zahlen außerhalb ±9007199254740991 lassen sich in JavaScript nicht exakt speichern, sie werden auf den nächstliegenden darstellbaren Wert gerundet, und die Statuszeile nennt die Anzahl; .inf, -.inf und .nan gibt es in JSON nicht und werden zu null, ebenfalls mit Hinweis.
Ein Syntaxfehler leert das vorherige Ergebnis, statt es stehen zu lassen, eine alte Umwandlung kann also nicht versehentlich kopiert werden; ein leeres Feld wird mit einem Hinweis beantwortet statt mit einer Umwandlung. Ergebnisse über etwa 100 000 Zeichen erscheinen ohne Syntaxhervorhebung: Der Text ist vollständig, und der Verzicht auf die Farben ist es, was ein Dokument von mehreren Hundert Kilobyte am Einfrieren des Tabs hindert.