JSON ↔ YAML ↔ TOML-Konverter
Zwischen JSON, YAML und TOML konvertieren, mit automatischer Formaterkennung
Über dieses Tool
Konvertiere zwischen JSON, YAML und TOML in jede Richtung. Das Quellformat wird beim Einfügen automatisch erkannt — Klammern deuten auf JSON, key:-Doppelpunkte auf YAML, [Tabellen] auf TOML — mit manueller Übersteuerung für mehrdeutige Eingaben. Die Konvertierung läuft über einen echten Parse-Vorgang, die Ausgabe ist also garantiert gültig, keine zeilenweise Texttransformation.
Jedes Format hat echte Stärken: JSON für APIs und Maschinenaustausch, YAML für von Menschen editierte Configs (Kubernetes, CI-Pipelines), TOML für sauber typisierte Config-Dateien (Cargo, pyproject). Daten von Hand zwischen ihnen zu bewegen lädt zu Einrückungs- und Quoting-Fehlern ein, die diese Konvertierung eliminiert.
Der Konverter ist ehrlich bei Formatgrenzen: TOML kennt keine Top-Level-Arrays und kein null, und beim Konvertieren solcher Dokumente wird der Grund gemeldet, statt still Daten zu verwerfen.
Häufige Fragen
- Überleben Kommentare die Konvertierung?
- Nein — JSON hat keine Kommentarsyntax, und die Konvertierung läuft über die geparste Datenstruktur, die keine Kommentare trägt. YAML → JSON → YAML verliert die Kommentare unwiederbringlich; behalte die Originaldatei, wenn Kommentare wichtig sind.
- Warum wurde aus meinem YAML-„no“ ein false?
- YAML 1.1 behandelt yes/no/on/off als Booleans, und der Ländercode NO wird berühmt-berüchtigt zu false. Der Parser hier folgt YAML 1.2 (nur true/false), aber Dateien für ältere Parser können trotzdem überraschen. Setze Strings in Anführungszeichen, die wie Booleans, Zahlen oder Daten aussehen.
- Warum schlägt die Konvertierung meines JSON nach TOML fehl?
- TOML verlangt eine Tabelle (Objekt) auf oberster Ebene — Arrays oder nackte Skalare können kein TOML-Dokument sein — und es kennt kein null. Strukturiere die Daten um (packe das Array unter einen Key, entferne die nulls oder gib ihnen Defaults), dann klappt die Konvertierung.
- Ist YAML eine Obermenge von JSON?
- Praktisch ja — YAML 1.2 parst praktisch alle JSON-Dokumente, weshalb JSON in eine YAML-Config einzufügen meist funktioniert. Umgekehrt gilt das nicht: YAMLs Anker, mehrzeilige Skalare und Tags haben kein JSON-Äquivalent und werden bei der Konvertierung expandiert oder zu Strings gemacht.