UltKit

JSON in YAML umwandeln

Wandeln Sie JSON in YAML um, das sich lesen, prüfen und kommentieren lässt. Laden Sie .json-Dateien hoch und erhalten Sie eingerücktes .yaml mit denselben Schlüsseln, Werten und derselben Reihenfolge – bereit für Ihr Repository.

Daten-Konverter

oder CSV, TSV, TXT …-Dateien hierher ziehen ·

Max. 95 MB pro Datei· Bis zu 20 Dateien· Gelöscht nach 30 Minuten

Ausgabe

Dateien werden auf unseren Servern verarbeitet und nach 30 Minuten gelöscht.

So verwenden Sie dieses Tool

  1. 1

    JSON-Dateien hinzufügen

    Laden Sie API-Antworten, exportierte Einstellungen oder generierte Manifeste als .json hoch, bis zu 20 Dateien mit jeweils maximal 95 MB. Jede Datei muss genau einen gültigen JSON-Wert enthalten.

  2. 2

    Standardwerte beibehalten

    YAML ist unter Umwandeln in bereits ausgewählt. Für eine Konfigurationsdatei müssen Sie nichts weiter ändern; die Ausgabe wird mit zwei Leerzeichen eingerückt.

  3. 3

    Umwandeln und committen

    Klicken Sie auf In YAML umwandeln →, laden Sie die .yaml-Dateien herunter, ergänzen Sie Kommentare dort, wo der nächste Leser sie braucht, und committen Sie.

Antwort

Wie wandle ich JSON in YAML um?

Laden Sie die .json-Datei hoch und klicken Sie auf In YAML umwandeln →. Objekte werden zu eingerückten Schlüssel-Wert-Blöcken, Arrays zu Listen mit Spiegelstrichen, und Zeichenfolgen, die YAML falsch deuten könnte, behalten ihre Anführungszeichen.

Warum JSON für Konfigurationsdateien in YAML umwandeln

Das meiste JSON wird von Software erzeugt: eine API-Antwort, ein Einstellungsexport, die Ausgabe eines Generators. Das meiste YAML wird von Menschen gepflegt. Die Umwandlung markiert meist den Moment, in dem Daten aufhören, Maschinenausgabe zu sein, und zu etwas werden, das ein Team besitzt, etwa ein in Git eingechecktes Deployment-Manifest, eine CI-Pipeline oder eine Sammlung von Ansible-Variablen.

Ein typischer Fall: Sie rufen eine Cloud-API auf, erhalten eine 200 Zeilen lange JSON-Beschreibung einer Ressource und möchten sie als Infrastructure as Code behalten. Die Umwandlung liefert eine Datei ohne Klammern und Kommas, in der eine Änderung in einer Zeile auch nur einen Diff von einer Zeile erzeugt und Sie ungewöhnliche Werte in Kommentaren erklären können. Dasselbe gilt für Testdaten und Übersetzungsdateien, die Nicht-Entwickler bearbeiten. Wenn Sie stattdessen eine flache Tabelle brauchen, für eine Tabellenkalkulation oder einen Bericht, passt JSON in CSV besser.

Tools mit Konfigurationsdateien in YAML

Wo umgewandeltes YAML meist landet
OrganisationAnforderungQuelle
GitHub ActionsWorkflows liegen in .github/workflows als .yml- oder .yaml-DateienGitHub Docs
GitLab CI/CDDie Pipeline wird in .gitlab-ci.yml im Stammverzeichnis des Repositorys definiertGitLab Docs
Docker ComposeDienste werden in compose.yaml beschrieben (früher docker-compose.yml)Docker Docs
AnsiblePlaybooks und Variablendateien werden in YAML geschriebenAnsible Docs
KubernetesManifeste akzeptieren JSON oder YAML; Dokumentation und Helm-Charts nutzen YAMLKubernetes

Beispiel: JSON in YAML mit kniffligen Werten

YAML-Ausgabe für {"name":"api","version":"1.10","debug":false,"tags":["web","eu"],"country":"NO"}
name: shop-api
version: "1.10"
debug: false
tags:
  - web
  - eu
country: "NO"

Was YAML bietet

  • Kommentare mit #
  • Kürzere Diffs im Code-Review
  • Keine Klammern, Kommas oder Anführungszeichen in den meisten Zeilen
  • Mehrzeiliger Text mit |-Blockskalaren

Worauf Sie achten sollten

  • Einrückung hat Bedeutung, ein überzähliges Leerzeichen ändert die Struktur
  • Tabulatoren sind zum Einrücken nicht erlaubt
  • Zeichenfolgen ohne Anführungszeichen können als Zahlen oder Booleans gelesen werden
  • Langsamere und weniger einheitliche Parser als bei JSON

Das Beispiel zeigt, warum ein einfaches Suchen und Ersetzen der Klammern nicht genügt. Die Version 1.10 ist in JSON ein String; ohne Anführungszeichen in YAML würde sie als Zahl 1.1 gelesen. NO, der ISO-Code für Norwegen, würde von YAML-1.1-Parsern wie PyYAML als false gelesen. Beide behalten ihre Anführungszeichen, während echte Zahlen und Booleans ohne sie stehen.

JSON und YAML im Vergleich

JSON

JavaScript Object Notation

JSON ist ein schlankes Textformat für strukturierte Daten, in den frühen 2000er-Jahren von Douglas Crockford populär gemacht und als RFC 8259 und ECMA-404 standardisiert. Es stellt Objekte, Arrays, Zeichenketten, Zahlen, Booleans und null in einfacher, lesbarer Syntax dar. Es ist das Standardformat für Web-APIs, Konfigurationsdateien und den Datenaustausch zwischen Anwendungen in nahezu allen Programmiersprachen. Kommentare, Datumstypen und Schemas sind nicht eingebaut, und große verschachtelte Dateien sind ohne Viewer schwer lesbar.

Komprimierung
–
Transparenz
–
Animation
–
Eingeführt
2001 · Douglas Crockford
JSON-Konverter

YAML

YAML

YAML („YAML Ain't Markup Language“) ist ein menschenfreundliches Datenformat, das erstmals 2001 veröffentlicht wurde. Es nutzt Einrückung statt Klammern, unterstützt Kommentare und ist eine Obermenge von JSON. Es wird häufig für Konfigurationen in Docker Compose, Kubernetes, GitHub Actions und vielen Anwendungen verwendet. Wegen der Abhängigkeit von Leerraum lässt es sich durch ein einziges falsches Leerzeichen zerstören, und manche Werte wie „no“ oder Datumsangaben können unerwartet interpretiert werden.

Komprimierung
–
Transparenz
–
Animation
–
Eingeführt
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
YAML-Konverter

JSON wird in YAML umgewandelt, wenn generierte oder API-Daten zu einer Konfigurationsdatei werden sollen, die Menschen pflegen, in Pull Requests prüfen und mit Kommentaren versehen.

Fragen zum Umwandeln von JSON in YAML

Ist JSON bereits gültiges YAML?

Ab YAML 1.2 ja: Die Überarbeitung von 2009 wurde so verfasst, dass jedes JSON-Dokument auch ein gültiges YAML-Dokument ist. Sie könnten JSON in eine .yaml-Datei einfügen, und die meisten Tools würden es akzeptieren. Beim Umwandeln geht es um Lesbarkeit: Der Blockstil ohne Klammern, Anführungszeichen und Kommas ist das, was Reviewer und die nächsten Maintainer erwarten.

Warum stehen manche Werte im YAML in Anführungszeichen?

Ohne Anführungszeichen würde YAML sie als anderen Typ lesen. Eine Versionsangabe wie 1.10 würde zur Zahl 1.1, und yes oder off könnten in älteren Parsern zu Booleans werden. Zeichenfolgen, die wie Zahlen, Daten oder Booleans aussehen, brauchen Anführungszeichen, damit sie Strings bleiben. Deshalb behält eine sorgfältige Umwandlung sie bei.

Kann ich nach dem Umwandeln Kommentare hinzufügen?

Ja, und das ist ein häufiger Grund für die Umwandlung. Schreiben Sie # gefolgt von Ihrer Notiz ans Zeilenende oder in eine eigene Zeile. In JSON ließ sich nicht erklären, warum ein Wert gesetzt ist; YAML kann das und erleichtert so Reviews und Übergaben.

Warum meldet mein YAML einen Fehler wegen Tabulatorzeichen?

Die YAML-Spezifikation verbietet Tabulatoren zum Einrücken; nur Leerzeichen zählen. Der Konverter schreibt Leerzeichen, aber ein Editor, der Tabs einfügt, kann die Datei bei der nächsten Bearbeitung beschädigen. Stellen Sie Ihren Editor für .yaml-Dateien auf Leerzeichen ein.

Akzeptiert Kubernetes das umgewandelte Manifest?

kubectl liest JSON und YAML, die Daten sind also in beiden Fällen dieselben; die YAML-Version nutzen nur die meisten Dokumentationen, Helm-Charts und Code-Reviews. Wenn Sie später JSON für jq oder einen API-Aufruf zurückbenötigen, kehrt YAML in JSON die Umwandlung um.