JSON-zu-YAML-Konverter
Wandeln Sie JSON in YAML und YAML in JSON um, schon während Sie tippen: Bearbeiten Sie eine Seite, und die andere passt sich an.
Heften Sie hier Tools an. Sie werden in diesem Browser gespeichert.
Heften Sie ein Tool an, und sein Sticker landet hier.
Wandeln Sie JSON in YAML und YAML in JSON um, schon während Sie tippen: Bearbeiten Sie eine Seite, und die andere passt sich an.
JSON und YAML beschreiben dieselbe Art von Daten: Mappings, Listen, Strings, Zahlen, boolesche Werte und null. YAML 1.2 wurde so entworfen, dass JSON eine Teilmenge davon ist, und ergänzt, was eine von Hand bearbeitete Datei braucht: Kommentare, Einrückung statt Klammern, mehrzeilige Strings, mehrere Dokumente in einer Datei sowie Anker und Aliase, um einen Wert wiederzuverwenden.
Von JSON nach YAML bleibt jeder Wert erhalten, mit einer Ausnahme: Ein Schlüssel, der im selben Objekt zweimal vorkommt, behält nur seinen letzten Wert, weil ein YAML-Mapping keinen Schlüssel wiederholen darf. Von YAML nach JSON bleiben nur die Daten erhalten: Kommentare verschwinden, Aliase und <<-Merge-Keys werden durch die Werte ersetzt, auf die sie verweisen, eigene Tags wie !Ref werden entfernt, ihre Werte bleiben aber erhalten, und Schlüssel, die keine Strings sind, etwa 1 oder true, werden zu ihrem Text.
Das Norwegen-Problem. In YAML 1.1 sind die Wörter yes, no, on und off ohne Anführungszeichen boolesche Werte, sodass in einer Liste von Ländercodes, die no enthält, plötzlich false steht. YAML 1.2 kennt nur noch true und false. Der Parser dieses Tools folgt YAML 1.2, sofern das Dokument nicht mit einer %YAML 1.1-Direktive beginnt, und liest no deshalb als den String „no“. Viele noch verbreitete Parser wenden die Regeln von 1.1 an; deshalb setzt dieses Tool solche Strings in Anführungszeichen, wenn es YAML schreibt.
Versionsnummern. Ein 1.10 ohne Anführungszeichen ist eine Gleitkommazahl, und als Zahl ist es 1.1. Versionsnummern, Postleitzahlen und alles andere, was nur wie eine Zahl aussieht, müssen in Anführungszeichen stehen, damit sie Text bleiben: version: "1.10".
Die Seite, die Sie zuletzt bearbeitet haben, ist die Quelle, und die andere Seite wird daraus neu geschrieben. Lässt sich die Quelle nicht parsen, erscheint der Fehler darunter, und die andere Seite behält die letzte gültige Umwandlung. Die Einrückungsoptionen gelten für die erzeugte Seite; eine geänderte JSON-Einrückung rückt auch JSON neu ein, das Sie selbst eingegeben haben, selbst eingegebenes YAML wird dagegen nie neu geschrieben, weil dabei seine Kommentare verloren gingen.
Schlüssel bleiben in der Reihenfolge der Quelle, auch Schlüssel aus Ziffern, die ein JavaScript-Objekt nach vorne verschieben würde. Ganzzahlen größer als 2 hoch 53 werden in beide Richtungen Ziffer für Ziffer übernommen. Eine YAML-Datei mit mehreren durch --- getrennten Dokumenten wird zu einem JSON-Array, und die Seite weist darauf hin. Ein Schlüssel, der in einem YAML-Mapping zweimal vorkommt, wird als Fehler gemeldet. YAML wird vom Open-Source-Paket yaml gelesen und geschrieben, das in Ihrem Browser läuft.
YAML 1.2 wurde so entworfen, dass JSON eine Teilmenge davon ist, und ein YAML-1.2-Parser liest ein JSON-Dokument. Eine seltene Ausnahme ist ein Objekt, das einen Schlüssel wiederholt, denn das akzeptiert YAML nicht. Sie können es hier ausprobieren, indem Sie JSON auf der YAML-Seite einfügen.
JSON kennt beides nicht. Kommentare fallen weg, und jeder Alias wird durch eine Kopie des Werts ersetzt, den sein Anker enthält. Wandeln Sie dieses JSON zurück, erhalten Sie YAML mit denselben Daten, aber ohne Kommentare und Anker.
Ohne Anführungszeichen liest YAML 1.10 als Gleitkommazahl, und diese Zahl ist 1.1. Schreiben Sie den Wert als "1.10", damit er Text bleibt. Dasselbe gilt für Werte wie 010 oder 1e3.
Nein. Beide Umwandlungen laufen per JavaScript in Ihrem Browser-Tab, und das Tool stellt mit Ihrer Eingabe keine Netzwerkanfrage.
Die App öffnet sich in einem eigenen Fenster und funktioniert auch offline.
Zum Installieren tippen Sie auf „Teilen“ und dann auf „Zum Home-Bildschirm“.