So funktioniert’s
- Fügen Sie Ihren YAML-Text in den Eingabeeditor ein.
- Wählen Sie unter „Ausgabe“ zwischen „Einrückung 2“, „Einrückung 4“ und „Minifizieren“.
- Wählen Sie bei Dateien mit mehreren YAML-Dokumenten unter „Mehrere Dokumente“ die Einstellung „JSON-Array“.
Beispiele
Gemeinsame Einstellungen in Docker Compose
x-standard: &standard
restart: unless-stopped
environment:
TZ: Europe/Berlin
services:
web:
<<: *standard
image: nginx:alpine
ports:
- "8080:80"
{
"x-standard": {
"restart": "unless-stopped",
"environment": {
"TZ": "Europe/Berlin"
}
},
"services": {
"web": {
"restart": "unless-stopped",
"environment": {
"TZ": "Europe/Berlin"
},
"image": "nginx:alpine",
"ports": [
"8080:80"
]
}
}
}HTTP-Statuscodes in einer OpenAPI-Datei
openapi: 3.0.3
info:
title: Lagerbestand
version: 1.0.0
paths:
/artikel:
get:
responses:
200:
description: Artikelliste
404:
description: Nicht gefunden
{
"openapi": "3.0.3",
"info": {
"title": "Lagerbestand",
"version": "1.0.0"
},
"paths": {
"/artikel": {
"get": {
"responses": {
"200": {
"description": "Artikelliste"
},
"404": {
"description": "Nicht gefunden"
}
}
}
}
}
}Zwei Kubernetes-Ressourcen in einer Datei
apiVersion: v1 kind: Namespace metadata: name: warenwirtschaft --- apiVersion: v1 kind: ConfigMap metadata: name: einstellungen namespace: warenwirtschaft data: SPRACHE: de_DE ZEITZONE: Europe/Berlin
[{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"warenwirtschaft"}},{"apiVersion":"v1","kind":"ConfigMap","metadata":{"name":"einstellungen","namespace":"warenwirtschaft"},"data":{"SPRACHE":"de_DE","ZEITZONE":"Europe/Berlin"}}]Wie YAML-Typen zu JSON werden
| YAML | JSON | Hinweis |
|---|---|---|
name: Alice, "02134" | String | Zahlen in Anführungszeichen bleiben Strings. |
30, 1.10, 0x1F, 12345678901234567890 | Zahl | Genau wie im YAML geschrieben; Hex- und Oktalzahlen werden dezimal. |
true, False | Boolean | yes, no, on bleiben Strings (YAML 1.2). |
null, ~, leerer Wert | null | |
2001-12-14, 12:30:00 | String | Keine versteckte Umwandlung in Timestamps. |
Listen, Maps, Anker, <<-Merge-Keys | Array, Objekt | Aliase werden aufgelöst; die Reihenfolge der Schlüssel bleibt erhalten. |
.inf, .nan, !!binary, !Ref, Liste als Schlüssel | — | Fehler mit Pfad und Zeile, nie eine stille Änderung. |
Häufige Fragen
Werden yes, no und on in Boolean-Werte umgewandelt?
Nach den standardmäßig verwendeten YAML-1.2-Regeln bleiben yes, no, on und off Strings. Deklariert ein Dokument ausdrücklich %YAML 1.1, gelten dafür die YAML-1.1-Regeln; dabei wird etwa yes zu true. Das Tool zeigt dazu einen Hinweis.
Bleiben große Zahlen und Nachkommastellen erhalten?
Zahlen wie 12345678901234567890, 1.10, 1e3 und -0 werden unverändert in den JSON-Text geschrieben. Hexadezimale und oktale Zahlen werden als Dezimalzahlen ausgegeben, etwa 0x1F als 31.
Warum lässt sich mein YAML nicht in JSON umwandeln?
Doppelte Schlüssel, benutzerdefinierte Tags wie !Ref sowie .inf und .nan führen zu einem Fehler statt zu einer stillen Datenänderung. Auch rekursive Aliase und Schlüssel, die nach der Umwandlung kollidieren, werden abgelehnt. Die Fehlermeldung nennt Zeile und Spalte.
Wird mein YAML an einen Server gesendet?
Die Umwandlung läuft im Browser; der Tool-Code sendet weder YAML noch JSON an einen Server. Die Eingabe wird nicht gespeichert, nur die Optionseinstellungen bleiben in localStorage erhalten. Beim Wechsel zu einem anderen Tool werden die Daten vorübergehend über sessionStorage übergeben und nach dem Einlesen entfernt.
Wie groß darf eine YAML-Datei sein?
Dateien und eingefügter YAML-Text dürfen höchstens 10 MB groß sein. Dateien müssen UTF-8-kodiert sein; Binärdateien werden abgelehnt. Zusätzlich gelten Grenzen von 1.000 Verschachtelungsebenen und 1.000.000 Werten nach der Auflösung von Aliasen.