onlinetools.dev

JSON ↔ YAML ↔ TOML-Konverter

Zwischen JSON, YAML und TOML konvertieren, mit automatischer Formaterkennung

Läuft lokal
loading…
Ü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.
Verwandte Tools