YAML-zu-JSON-Konverter

Wandeln Sie YAML in JSON und JSON in YAML um — mit der genauen Zeile und Spalte jedes Syntaxfehlers.

So funktioniert es

  1. Fügen Sie YAML oder JSON ein — das Tool erkennt selbst, was es ist, oder Sie wählen die Richtung selbst.
  2. Klicken Sie auf „Umwandeln“. Ist die Syntax fehlerhaft, lesen Sie Zeile und Spalte in der Meldung und achten Sie auf das ^ unter dem beanstandeten Zeichen.
  3. Kopieren Sie das Ergebnis oder laden Sie es als converted.json oder converted.yaml herunter. Nichts wird hochgeladen.

Über dieses Tool

YAML und JSON beschreiben dasselbe — Zuordnungen, Listen, Zeichenketten, Zahlen, Wahrheitswerte und null — mit gegensätzlichen Prioritäten. JSON verwendet geschweifte Klammern und Anführungszeichen, was Maschinen mögen und Menschen vertippen. YAML verwendet Einrückung und fast keine Sonderzeichen, was Menschen mögen, bis ein verirrtes Leerzeichen die Struktur des Dokuments verändert. Zwischen beiden umzuwandeln, ist Alltagsarbeit: ein Kubernetes-Manifest oder einen GitHub-Actions-Workflow als JSON lesen, damit ein Skript damit arbeiten kann, oder eine API-Antwort für eine Konfigurationsdatei wieder in YAML verwandeln. Dieses Tool geht in beide Richtungen und erkennt, was Sie eingefügt haben.

Die Umwandlung ist die leichte Hälfte; die Mühe steckt darin, was passiert, wenn das YAML fehlerhaft ist. Ein Syntaxfehler wird als Zeile und Spalte gemeldet, gezählt so, wie ein Editor zählt, mit einem Ausschnitt der umliegenden Zeilen und einem ^ unter genau dem Zeichen, das den Parser gestoppt hat. Die Position ist nicht immer dort, wo Sie sie erwarten. Ein Tabulator in der Einrückung wird am Tabulator selbst zurückgewiesen, und der Ausschnitt stellt ihn als Pfeil dar, damit Sie sehen können, was man sonst nicht sieht. Ein nicht geschlossenes Anführungszeichen wird am Dateiende gemeldet, nicht am öffnenden Anführungszeichen — denn dort ist dem Parser auf der Suche nach dem schließenden der Text ausgegangen. Ein doppelter Schlüssel wird an seinem zweiten Vorkommen gemeldet, und er ist hier ein Fehler, keine Warnung. JSON-Fehler werden genauso behandelt: Browser formulieren sie unterschiedlich und manche melden nur einen Zeichen-Offset, deshalb werden Zeile und Spalte hier berechnet und fallen überall gleich aus.

YAML kann Dinge ausdrücken, die JSON nicht kann, und jedes davon wird benannt, statt Ihre Daten stillschweigend zu verändern. Anker und Aliasse werden aufgelöst, ein Alias wird also zu einer vollständigen Kopie des verankerten Werts — und Sie werden darauf hingewiesen. Merge Keys nicht: Der Parser arbeitet mit dem JSON-Schema, das sie nicht auflöst, deshalb bleibt eine <<-Zeile als wörtlicher Schlüssel erhalten, mit dem Hinweis, diese Felder von Hand zusammenzuführen. Eine Datei mit mehreren, durch --- getrennten Dokumenten wird zu einem JSON-Array, ein Element pro Dokument. Die Werte .inf und .nan kommen als null heraus, und sehr große Ganzzahlen verlieren ihre letzten Stellen; auf beides wird hingewiesen. Dieses Schema ist auch eine Sicherheitsentscheidung: Tags wie !!js/function werden als unbekannt zurückgewiesen statt instanziiert. Und nichts davon geht auf Reisen — alles läuft auf Ihrem Gerät.

Häufig gestellte Fragen

Verlässt mein YAML oder JSON meinen Browser?

Nein. Der Text wird von JavaScript auf Ihrem eigenen Gerät geparst und umgewandelt — nichts wird irgendwohin gesendet, gespeichert oder protokolliert. Das zählt hier: Ein Kubernetes-Manifest enthält Hostnamen, Ports, Bucket-Namen und Service-Accounts.

Was genau bedeuten Zeile und Spalte in der Fehlermeldung?

Sie geben an, wo der Parser aufgegeben hat, ab 1 gezählt wie in Ihrem Editor, mit dem ^ unter diesem Zeichen. Ein Fall überrascht immer wieder: Ein nicht geschlossenes Anführungszeichen wird am Dateiende gemeldet — suchen Sie also zurück nach dem letzten Anführungszeichen, das Sie geöffnet haben.

Werden Anker und Aliasse unterstützt?

Ja. Jeder Alias wird im JSON zu einer vollständigen Kopie des verankerten Werts, und das Tool weist darauf hin. Merge Keys sind die Ausnahme: Sie werden nicht aufgelöst, das << bleibt als wörtlicher Schlüssel erhalten, und Sie erhalten einen ausdrücklichen Hinweis statt eines stillschweigend falschen Ergebnisses.

Kann es eine Datei mit mehreren, durch --- getrennten Dokumenten umwandeln?

Ja. JSON kennt keine mehreren Dokumente in einer Datei, deshalb wird jedes YAML-Dokument der Reihe nach zu einem Element eines JSON-Arrays, und ein Hinweis nennt die gefundene Anzahl.

Warum ist aus „yes“ eine Zeichenkette statt true geworden?

Weil YAML 1.2 nur true und false als Wahrheitswerte behandelt; yes, no, on und off bleiben Zeichenketten. Ältere 1.1-Parser haben sie umgewandelt — dieselbe Regel, die aus dem Ländercode NO ein false macht. Setzen Sie einen Wert in Anführungszeichen, wenn er Text bleiben muss.

Verwandte Tools

Lange Links? Kürzen Sie sie kostenlos

Vai.la verwandelt jede URL in einen Kurzlink mit Klick-Statistiken, QR-Code und Ihrem eigenen Biolink.

Vai.la übernimmt keine Verantwortung für die Nutzung der Tools oder für Entscheidungen, die auf ihren Ergebnissen basieren.