JSON in YAML umwandeln — Online-Konverter
JSON in YAML umwandeln (Einrückung, Schlüsselsortierung, Fehlerposition)
Verarbeitung im Browser · kein Hochladen
Was das Tool ist
YAML ist ein Konfigurationsformat, das sich gut lesen und von Hand bearbeiten lässt. Es steckt in Kubernetes-Manifesten, GitHub Actions, Docker Compose und vielen anderen Werkzeugen. Wenn Sie eine API-Antwort oder eine Konfiguration als JSON vorliegen haben und sie als YAML brauchen, fügen Sie sie hier ein. Das Ergebnis erscheint sofort nach dem Einfügen.
Anleitung
- Fügen Sie Ihr JSON in das Eingabefeld ein.
- Wählen Sie 2 oder 4 Leerzeichen Einrückung. Die meisten YAML-Werkzeuge verwenden üblicherweise 2.
- Aktivieren Sie „Schlüssel sortieren“, wenn Sie auf jeder Ebene alphabetische Reihenfolge wünschen.
- Kopieren Sie das Ergebnis. Enthält das JSON einen Fehler, werden Zeile und Spalte angezeigt.
So funktioniert es
- Die Eingabe ist striktes JSON nach RFC 8259. Die Ausgabe erzeugt die Bibliothek js-yaml in einer Form, die zum Core-Schema von YAML 1.2 kompatibel ist.
- Ein String, der als anderer Typ gelesen werden könnte, etwa
true,null,123oder007, wird automatisch in Anführungszeichen gesetzt, damit sich die Typen bei der Rückumwandlung nicht ändern. - Umlaute, chinesische und koreanische Zeichen sowie Emojis werden unverändert geschrieben, ohne Escape-Sequenzen.
- Der automatische Zeilenumbruch ist aus, und ein mehrfach vorkommender Wert wird jedes Mal ausgeschrieben, statt Anker und Aliase (
&,*) zu verwenden. - Ein leeres Array wird als
[]geschrieben, ein leeres Objekt als{}. Auch ein einzelner Skalar auf oberster Ebene, etwa ein String oder eine Zahl, wird umgewandelt. - Ganzzahlen über 2^53 werden beim Einlesen gerundet, deshalb erscheint eine Warnung.
Beispiele
Eingabe:
{"name":"app","ports":[80,443],"owner":{"vorname":"Jürgen"},"debug":false,"version":"1.0"}
Ergebnis:
name: app
ports:
- 80
- 443
owner:
vorname: Jürgen
debug: false
version: '1.0'
Häufige Fragen
Erhalte ich bei der Rückumwandlung von YAML in JSON dieselben Daten?
Struktur und Werte kommen unverändert zurück. Strings, die als anderer Typ gelesen werden könnten, etwa "true" oder "123", bekommen Anführungszeichen und bleiben dadurch Strings. Die Reihenfolge der Schlüssel bleibt erhalten, solange Sie die Sortierung nicht aktivieren.
Werden lange Sätze auf mehrere Zeilen umbrochen?
Nein. Der Zeilenumbruch ist ausgeschaltet, ein String bleibt also auf einer Zeile und wird nie aufgeteilt. Ein String, der selbst Zeilenumbrüche enthält, kann als YAML-Blockskalar geschrieben werden.
Wie werden JSON-Fehler gemeldet?
Sie erhalten Zeile und Spalte des ersten Zeichens, das die Syntax verletzt. Was JSON nicht erlaubt, etwa abschließende Kommas und Kommentare, wird ebenfalls als Fehler gemeldet.
Sind sehr große Ganzzahlen sicher?
Die Eingabe wird mit JavaScript gelesen, daher werden Ganzzahlen über 9007199254740991 (2^53-1) gerundet. In diesem Fall erscheint eine Warnung. Schreiben Sie solche Zahlen als Strings.