YAML ↔ JSON-Konverter

Wandelt YAML in JSON und JSON in YAML um, mit Zeile und Spalte jedes Fehlers.

Das interaktive Formular ist verfügbar, sobald JavaScript aktiviert ist.

So funktioniert es

Wählen Sie YAML → JSON oder JSON → YAML und fügen Sie den Text ein: Das Ergebnis erscheint beim Tippen. Richtung tauschen setzt das Ergebnis zurück ins Feld und dreht die Richtung um, sodass Hin und Zurück ein Klick ist. Einrückung legt 2 oder 4 Leerzeichen im Ergebnis fest.

YAML wird mit dem Core-Schema von YAML 1.2 gelesen, der aktuellen Version der Sprache. Nur true und false sind Wahrheitswerte, null und ~ sind null, und Datumsangaben bleiben Text. Wörter wie yes, no, on und off waren in YAML 1.1 Wahrheitswerte und sind es für manche ältere Werkzeuge noch; hier bleiben sie Text, und JSON → YAML schreibt sie in Anführungszeichen, damit auch diese Werkzeuge sie als Text lesen.

Anker und Aliase (&name und *name) sowie Merge-Schlüssel (<<) werden vollständig ausgeschrieben, weil JSON keine Verweise kennt. Kommentare fallen weg: Die YAML-Spezifikation behandelt sie als Darstellung, nicht als Daten. Eine Datei mit mehreren durch --- getrennten Dokumenten wird zu einer JSON-Liste mit einem Eintrag pro Dokument.

Ist die Eingabe ungültig, nennt das Werkzeug Zeile und Spalte des Problems, zeigt die Zeile und setzt ein Dach (^) unter die Stelle. Alles läuft in Ihrem Browser mit der quelloffenen Bibliothek js-yaml, und nichts wird hochgeladen.

Beispiel

„production“ übernimmt über << die Schlüssel von „defaults“, behält sein eigenes retries: 5, und off bleibt der Text "off", wie YAML 1.2 es vorsieht.

  • debug: off → {"debug": "off"}In YAML 1.2 ist off Text, nicht false.
  • <<: *defaultsÜbernimmt die Schlüssel der verankerten Zuordnung; daneben geschriebene Schlüssel haben Vorrang.
  • a: 1, dann ---, dann b: 2Zwei Dokumente werden zur Liste [{"a": 1}, {"b": 2}].
  • {"a": 1,}Ungültiges JSON in Zeile 1, Spalte 8: JSON erlaubt kein Komma vor }.

Häufige Fragen

Wird meine Datei hochgeladen?

Nein. Die Umwandlung läuft in Ihrem Browser und nichts wird gesendet, sodass Konfigurationsdateien mit internen Namen oder Adressen auf Ihrem Gerät bleiben.

Warum wurde yes oder on nicht zu true?

YAML 1.2 kennt nur true und false als Wahrheitswerte. Yes, no, on und off sind das nur im älteren YAML 1.1, daher bleiben sie hier Text. Wenn Sie einen Wahrheitswert brauchen, schreiben Sie true oder false.

Wo sind meine Kommentare?

JSON hat keine Kommentare, und laut YAML-Spezifikation gehören Kommentare nicht zu den Daten. Sie gehen beim Weg nach JSON verloren und kommen beim Zurückwandeln in YAML nicht wieder.

Warum hat sich eine lange Zahl verändert?

JavaScript speichert JSON-Zahlen als 64-Bit-Gleitkommazahlen, daher verlieren ganze Zahlen über 9.007.199.254.740.991 ihre letzten Ziffern. Setzen Sie lange IDs in Anführungszeichen, damit sie Text bleiben.

Was bedeutet „unknown tag“?

Das YAML verwendet ein eigenes Tag wie !Ref oder !GetAtt aus AWS CloudFormation, das nur dieses Werkzeug versteht. Schreiben Sie die Langform (Ref: oder Fn::GetAtt:) und wandeln Sie erneut um.

Verwandte Werkzeuge