YAML in JSON umwandeln — Online-Konverter
YAML in JSON umwandeln (sicheres Schema, Anker und Merge-Keys, Fehlerzeile)
Verarbeitung im Browser · kein Hochladen
Was das Tool ist
Konfigurationen werden oft in YAML geschrieben, während Programme Daten als JSON austauschen. Dieses Tool wandelt YAML in JSON um. Das Ergebnis aktualisiert sich während der Eingabe, und Syntaxfehler werden mit Zeile und Spalte gemeldet.
Anleitung
- Fügen Sie Ihr YAML in das Eingabefeld ein.
- Wählen Sie für die JSON-Ausgabe 2 Leerzeichen, 4 Leerzeichen, Tabulator oder „Minimieren“.
- Kopieren Sie das Ergebnis.
- Zeigt ein Fehler Zeile und Spalte an, prüfen Sie in der Nähe dieser Stelle die Einrückung, die Anführungszeichen und das Leerzeichen nach dem Doppelpunkt.
So funktioniert es
- Das Parsen übernimmt js-yaml mit dem Core-Schema von YAML 1.2. Nur
true/false,null(oder~), dezimale, oktale und hexadezimale Ganzzahlen sowie Gleitkommazahlen werden als Wahrheitswerte, null und Zahlen gelesen. Alles andere ist ein String, und ein in Anführungszeichen gesetztes"123"ist immer ein String. - Eigene Tags und Code-Tags wie
!!js/functionwerden nicht unterstützt und führen zu einem Fehler. Nichts wird jemals als Code ausgeführt. - Anker (
&) und Aliase (*) werden zu Werten aufgelöst, und der Merge-Key<<wird ausgewertet. Ein wiederholter Schlüssel innerhalb eines Mappings ist ein Fehler. - Fehlerpositionen sind Zeilen und Spalten, gezählt ab 1.
- Mehrere Dokumente werden in ein Array gepackt. Eine leere Eingabe ist ein Fehler.
- Werte, die JSON nicht darstellen kann, werden nach den Regeln von JSON umgewandelt,
.infund.nanwerden also zunull. Ganzzahlen über 2^53 werden beim Einlesen als JavaScript-Zahlen gerundet.
Beispiele
Eingabe:
base: &b
x: 1
item:
<<: *b
name: Jürgen
Ergebnis:
{"base": {"x": 1}, "item": {"x": 1, "name": "Jürgen"}}
Häufige Fragen
Wird ein Tag wie !!js/function ausgeführt?
Nein. Das Tool verwendet ein sicheres Schema, das nur reine Daten liest (Strings, Zahlen, Wahrheitswerte, null, Arrays und Objekte). Eigene Tags und Funktionen werden nie ausgeführt und als Fehler gemeldet.
Wo sehe ich, was an meinem YAML falsch ist?
Bei einem Fehler zeigt das Tool die Zeile und Spalte, an der das Problem erkannt wurde, zusammen mit der Erklärung des Parsers. Typische Ursachen sind falsche Einrückung und nicht geschlossene Anführungszeichen oder Klammern. Die erkannte Stelle kann kurz hinter der eigentlichen Ursache liegen, prüfen Sie also auch die Zeilen darüber.
Werden yes, no, on und off zu Wahrheitswerten?
Nein. Nach YAML 1.2 sind nur true und false Wahrheitswerte, yes, no, on und off bleiben Strings. Auch ein datumsähnlicher Wert wie 2024-01-02 bleibt ein einfacher String und wird kein Datumsobjekt.
Warum erhalte ich den Fehler „too many aliases“?
Aus Sicherheitsgründen darf ein Dokument höchstens 100 Aliase enthalten. Eingaben, die Aliase verschachteln, um die Ausgabe exponentiell aufzublähen (eine Alias-Bombe), können einen Browser-Tab einfrieren. Daher begrenzt das Tool sowohl die Anzahl der Aliase als auch die Größe des Ergebnisses (etwa 5 MB). Gewöhnliche Konfigurationsdateien liegen weit darunter.
Was passiert, wenn die Eingabe mehrere durch --- getrennte Dokumente enthält?
Ein einzelnes Dokument liefert seinen Wert. Zwei oder mehr ergeben ein JSON-Array mit den Dokumenten in ihrer Reihenfolge, und ein Hinweis nennt die Anzahl.