Alle Anleitungen
Daten

YAML in JSON umwandeln und Zeilenumbrüche gezielt erhalten

Ein Pipe-Zeichen, ein Größer-als-Zeichen und ein Minuszeichen erzeugen unterschiedliche Zeichenfolgen. Fünf kleine Beispiele zeigen, warum.

Ein YAML-Absatz kann in deinem Editor wie zwei Zeilen aussehen, aber in JSON zu einer Zeile werden. Das Zeichen nach dem Schlüssel entscheidet, wie diese Zeilenumbrüche gelesen werden; ein Minuszeichen entscheidet, ob der letzte Zeilenumbruch erhalten bleibt.

Öffne den CSV-, JSON- & YAML-Konverter, füge dieses Beispiel ein, wähle YAML bei Von und JSON bei Bis:

literal: |
  Ready to share.
  Check the link.
folded: >
  Ready to share.
  Check the link.
literal_strip: |-
  Ready to share.
  Check the link.
folded_strip: >-
  Ready to share.
  Check the link.

Ausgabe lesen, bevor du den Text änderst

Der Konverter erzeugt diese vier Zeichenketten:

{
  "literal": "Ready to share.\nCheck the link.\n",
  "folded": "Ready to share. Check the link.\n",
  "literal_strip": "Ready to share.\nCheck the link.",
  "folded_strip": "Ready to share. Check the link."
}

In JSON-Quelltext stellt \n einen Zeilenumbruch innerhalb der Zeichenkette dar. Es ist kein zusätzlicher Backslash, den dein Leser nach dem Parsen des JSON sieht. Einrückungen außerhalb der Anführungszeichen machen das JSON nur lesbarer; sie ändern nichts an der Zeichenkette.

Für eine zweizeilige Bildunterschrift ist die dritte Version oft die nützliche. Für einen Satz, der in einer Konfigurationsdatei über zwei Zeilen umbrochen ist, hält die vierte ihn ohne abschließenden Zeilenumbruch zusammen.

Blockstil und Ende getrennt wählen

YAML-Markierung Zwischen normalen Textzeilen Am Ende dieses Beispiels
| Behält einen Zeilenumbruch Behält einen abschließenden Zeilenumbruch
> Faltet den Umbruch zu einem Leerzeichen Behält einen abschließenden Zeilenumbruch
|- Behält einen Zeilenumbruch Entfernt den abschließenden Zeilenumbruch
>- Faltet den Umbruch zu einem Leerzeichen Entfernt den abschließenden Zeilenumbruch

Diese Regeln gelten für nicht-leere Blöcke wie dieses Beispiel. YAML nennt die Endregel „Chomping“; die Block-Skalar-Spezifikation definiert auch ein Pluszeichen zum Behalten von abschließenden Leerzeilen.

Das Falten löscht nicht jeden Zeilenumbruch. Leerzeilen und stärker eingerückte Zeilen haben eigene Regeln. Teste mit einem kleinen Beispiel, bevor du eine Nachricht, einen Prompt oder einen Shell-Befehl konvertierst, bei dem die Abstände wichtig sind.

Eine Leerzeile trennt trotzdem Absätze

Dieses Beispiel verwendet gefalteten Text, enthält aber eine Leerzeile:

paragraphs: >-
  First paragraph.

  Second paragraph.

Sein konvertierter Wert ist:

{
  "paragraphs": "First paragraph.\nSecond paragraph."
}

Zwischen den beiden Absätzen steht genau ein Zeilenumbruch, kein Leerzeichen und keine zwei Zeilenumbrüche. Wenn du exakte Leerzeilen brauchst, verwende einen wörtlichen Block und prüfe die resultierende Zeichenkette.

Rücke den Inhalt des Blocks mit Leerzeichen unter seinem Schlüssel ein. Wenn du eine Zeile nach links verschiebst, kann der Block enden oder das Dokument ungültig werden. Ein defektes Dokument sollte an der Quelle korrigiert werden, statt es durch Entfernen aller Leerzeichen zu „reparieren“.

YAML behalten, wenn Kommentare wichtig sind

Lade die vollständige YAML-Beispieldatei und ihr konvertiertes JSON herunter. Das Beispiel enthält alle fünf obigen Fälle.

Die Konvertierung bewahrt die interpretierten Werte, nicht die ursprüngliche YAML-Darstellung. Kommentare, Blockstil-Markierungen und Alias-Notation werden in JSON nicht übernommen. Behalte das ursprüngliche YAML, wenn du die Konfiguration erneut bearbeiten willst; eine Rückkonvertierung stellt diese Details nicht wieder her.

Am 12. Oktober 2026 haben wir die herunterladbare Datei durch die Konvertierungsfunktion des Tools laufen lassen und jede Zeichenkette geprüft, einschließlich ihres abschließenden Zeilenumbruchs. Die Ergebnisdatei dokumentiert die erwarteten Werte und Download-Hashes. Das Tool konvertiert lokal in deinem Browser, aber du solltest trotzdem eine bereinigte Beispielprobe verwenden, wenn du eine Konfiguration mit jemandem teilst.