YAML formatieren und validieren
YAML Formatter & Validator
Rückt YAML einheitlich ein, validiert es und markiert die Tab- und Anker-Fehler, an denen Parser scheitern.
Rückt eine YAML-Datei einheitlich neu ein und sagt Ihnen, was ein anderer Parser anders lesen würde. Es ist ein YAML-1.2-Leser, der Kommentare, Anker, Tags und Blockskalare behält, sodass die Ausgabe Ihr Dokument mit korrigiertem Layout ist – kein Umweg über ein Datenmodell, das Ihre Kommentare weggeworfen hätte.
YAML-Eingabe
Eine .yaml-Datei ablegen
Wird nur in diesem Tab gelesen. Nichts wird hochgeladen.
Formatiertes YAML
Formatiert.
Gelesen, aber darüber sind sich die Parser nicht einig
- 19:22 — `no` ist in YAML 1.2 die Zeichenkette "no". Ein YAML-1.1-Parser liest es als Boolean – setzen Sie es in Anführungszeichen oder schreiben Sie true/false, damit beide übereinstimmen.
Dokumente
1
Schlüssel
30
Listenpunkte
8
Anker / Aliase
1 / 1
Warnungen
1
Was dieser Formatierer tut und was nicht
- · Gelesen mit dem Core-Schema von YAML 1.2.
yesundnoundonundoffsind Zeichenketten, und0755ist die Dezimalzahl 755, nicht oktal. Werte, die ein 1.1-Parser anders läse, stehen oben als Warnung. - · Kommentare, Anker (
&), Aliase (*), Tags sowie die Block-Skalare|und>bleiben alle erhalten. Die Reihenfolge der Werte wird ebenfalls nicht verändert. - · Einrückung mit Tabulatoren, doppelte Schlüssel, ein vor seiner Definition verwendeter Alias und ein nicht geschlossenes Anführungszeichen werden alle als Fehler erkannt, mit Zeile und Spalte.
- · Der Merge-Schlüssel
<<ist ein 1.1-Feature, aber docker-compose und Ansible nutzen ihn so verbreitet, dass er beim Umwandeln nach JSON angewendet wird – mit einer Warnung, die das sagt. - · Ein Kommentar in einer Flow-Collection wie
[a, b]hat keine Zeile, an die er gehört, und geht verloren. Jeder andere Kommentar bleibt erhalten.
Für die Umwandlung nach JSON oder TOML nehmen Sie den JSON-⇄-YAML-Konverter, und um ein Dokument gegen ein Schema zu prüfen den JSON-Schema-Validator.
So funktioniert es
Fügen Sie das Manifest oder die Konfiguration ein
Ein Kubernetes-Manifest, eine CI-Datei, eine docker-compose. Mehrere durch `---` getrennte Dokumente werden als Stream gelesen und getrennt gezählt.
Wählen Sie den Listenstil
Die eine Einstellung, über die tatsächlich gestritten wird: ob `- item` auf gleicher Höhe mit seinem Schlüssel steht oder darunter eingerückt. Beides ist gültiges YAML; Kubernetes-Manifeste verwenden üblicherweise die bündige Form.
Lesen Sie die Warnungen
Werte, deren Bedeutung davon abhängt, welche YAML-Version der Leser implementiert – `yes`, `no`, `0755` –, werden mit Zeile und Spalte aufgeführt. Das sind die, die auf einem anderen Werkzeug ein Deployment brechen.
Oder schalten Sie die Ausgabe auf JSON um
Derselbe Parse, als JSON gerendert – der schnellste Weg zu sehen, wozu ein Wert tatsächlich aufgelöst wurde, einschließlich dessen, wozu ein Merge-Key sich entfaltet hat.
Häufige Fragen
Warum ist `no` hier ein String?
Weil das Core-Schema von YAML 1.2 es so sagt: Die einzigen Booleans sind `true` und `false`. YAML 1.1 – das bei PyYAML immer noch Standard ist – liest `no`, `off` und `n` als false. Jeder Wert, bei dem die beiden uneins sind, wird als Warnung markiert, denn es ist ein echter Verhaltensunterschied, kein stilistischer.
Bleiben meine Anker und Aliase erhalten?
In der YAML-Ausgabe ja – `&res` und `*res` kommen so heraus, wie Sie sie geschrieben haben, und die Anzahl steht in der Statistik. Die JSON-Ansicht muss sie auflösen, denn JSON hat keine Möglichkeit, „derselbe Knoten noch einmal“ zu sagen.
Unterstützt es Merge-Keys?
`<<:` ist ein Merkmal von YAML 1.1 und nicht Teil von 1.2 – aber docker-compose- und Ansible-Dateien verwenden es ständig, deshalb wird es beim Konvertieren nach JSON angewendet, mit einer Warnung, die sagt, dass das geschehen ist. In der YAML-Ausgabe bleibt es genau so, wie es geschrieben steht.
Ein Kommentar ist verschwunden. Warum?
Mit ziemlicher Sicherheit stand er in einer Flow-Collection – `[a, # note\n b]`. Eine Flow-Collection wird als einzelne Zeile neu ausgegeben, und ein Kommentar dort hat keine Zeile, an die er sich hängen könnte. Jeder Kommentar auf eigener Zeile oder hinter einem Wert überlebt.
Eingabe aus
TOML formatieren und validieren
TOML Formatter & Validator
Formatiert und validiert TOML und normalisiert die Tabellenreihenfolge sowie den Stil von Inline-Tabellen.
JSON ⇄ YAML umwandeln
JSON ⇄ YAML
Wandelt in beide Richtungen um, bewahrt die Schlüsselreihenfolge und wählt für die YAML-Seite Block- oder Flow-Stil.
JSON-Schema-Validator
JSON Schema Validator
Validiert ein Dokument gegen ein JSON Schema und meldet jeden Fehler mit seinem Instanzpfad.
OpenAPI-Linter
OpenAPI Linter
Prüft ein OpenAPI-Dokument auf fehlende Antworten, ungenutzte Schemas, ins Leere zeigende Referenzen und die anderen Mängel, die Codegeneratoren brechen.
Danach
Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.
JSON formatieren und validieren
JSON Formatter & Validator
Formatiert, minimiert und validiert JSON und zeigt bei Syntaxfehlern die genaue Zeile und Spalte.
JSON-Schema-Validator
JSON Schema Validator
Validiert ein Dokument gegen ein JSON Schema und meldet jeden Fehler mit seinem Instanzpfad.
JSON ⇄ YAML umwandeln
JSON ⇄ YAML
Wandelt in beide Richtungen um, bewahrt die Schlüsselreihenfolge und wählt für die YAML-Seite Block- oder Flow-Stil.
Kubernetes-Secret-Decoder
Kubernetes Secret Decoder
Dekodiert jeden Base64-Wert in einem Secret-Manifest und kodiert ein bearbeitetes wieder zum Anwenden – ohne Upload, komplett im Browser.
Base64 kodieren und dekodieren
Base64 Encoder & Decoder
Kodiert und dekodiert Base64 und Base64URL für Text oder Dateien und behandelt UTF-8 korrekt.
curl in Code
curl to Code
Wandelt einen curl-Befehl in fetch, axios, Python requests, Go, PHP oder PowerShell um.