JSON-, YAML- und CSV-Konverter

Läuft in deinem Browser; nichts wird hochgeladen

Zwischen JSON, YAML und CSV in jede Richtung konvertieren, mit einer Tabellenansicht für CSV-Daten.

Input · JSON

Output · YAML

Converted YAML appears here as you type.

Ready
Ln 1, Col 1

Wofür JSON, YAML und CSV da sind

JSON, YAML und CSV beschreiben Daten als Text, aber für verschiedene Aufgaben. JSON ist das Format von Web-APIs: streng und für Programme leicht zu parsen. YAML hält dieselben Strukturen wie JSON (Objekte, Listen, Strings, Zahlen, Booleans), nutzt aber Einrückung statt geschweifter Klammern und lässt sich deshalb leichter von Hand bearbeiten; OpenAPI-Specs, CI-Pipelines, Docker-Compose- und Kubernetes-Dateien sind meist YAML. CSV ist eine Tabelle: eine Kopfzeile mit Spaltennamen, dann eine Zeile pro Datensatz.

Der Konverter liest die Eingabe in ein gemeinsames Datenmodell ein und schreibt sie im Zielformat aus. Zahlen behalten die Ziffern, mit denen sie geschrieben wurden, eine 19-stellige ID oder 1.50 kommt also unverändert an. Alles, was die Umwandlung entscheiden musste (ein Wert, den YAML als Zahl liest, ein verschachteltes Objekt, das zu einer Spalte geglättet wurde, ein doppelter Schlüssel), steht in den Hinweisen über der Ausgabe.

YAML wird mit dem Core-Schema von YAML 1.2 gelesen, der aktuellen Version des Standards. true, false und null sind Werte; yes, no, on und off bleiben Strings, anders als in älteren YAML-1.1-Bibliotheken wie PyYAML. Beim Schreiben von YAML setzt der Konverter jeden String in Anführungszeichen, den eine der beiden Versionen als etwas anderes lesen würde, damit "yes", "007" und "2024-01-01" überall als dieselben Strings zurückgelesen werden.

So benutzt du dieses Tool

  1. 1Wähle die Formate unter From und To in der Werkzeugleiste. Füge deine Daten in den Bereich Input ein, zieh eine Datei darauf oder öffne eine mit Ctrl+O (bis 5 MB); beim Öffnen einer .yaml-, .csv- oder .json-Datei wird From automatisch gesetzt.
  2. 2Das Ergebnis steht im Bereich Output und aktualisiert sich beim Tippen. Ist CSV beteiligt, zeigt der Tab Table die Zeilen und Spalten.
  3. 3Passe die Optionen in der Werkzeugleiste an: das CSV-Trennzeichen (oder Detect), ob die erste Zeile eine Kopfzeile ist, ob Zahlen und true/false zu JSON-Werten werden, die Verschachtelung von Spaltennamen mit Punkten und wie Arrays ins CSV geschrieben werden.
  4. 4Ist die Eingabe ungültig, nennen Ausgabebereich und Statusleiste Zeile und Spalte. Mit F8 setzt du den Cursor dorthin.
  5. 5Swap (Shift+Alt+S) übernimmt die Ausgabe als Eingabe und tauscht die Formate, damit du den Hin- und Rückweg prüfen kannst. Ctrl+Z macht das rückgängig.
  6. 6Kopiere die Ausgabe oder lade sie mit Ctrl+S herunter.

Fehlerbehebung

Tabs dürfen in YAML nicht zum Einrücken verwendet werden
YAML erlaubt zum Einrücken nur Leerzeichen. Ersetze die Tabs am Zeilenanfang durch Leerzeichen; die meisten Editoren können das automatisch.
Ein Wert darf nicht mit einer key:-Zeile weitergehen
Eine Zeile ist unter einem Schlüssel eingerückt, der in seiner eigenen Zeile schon einen Wert hat. Entferne entweder den Wert nach dem Doppelpunkt, damit die eingerückten Zeilen seine Kinder werden, oder korrigiere die Einrückung.
Doppelter Schlüssel
YAML verlangt, dass jeder Schlüssel in einem Mapping eindeutig ist. Benenne einen davon um oder entferne ihn; der Fehler zeigt auf den zweiten.
Zeile 4 hat 5 Felder; die Kopfzeile hat 4
Ein Wert in dieser Zeile enthält das Trennzeichen ohne Anführungszeichen drumherum, oder der Kopfzeile fehlt eine Spalte. Setz den Wert in Anführungszeichen ("Pune, MH") oder prüfe das gewählte Trennzeichen.
Postleitzahlen oder IDs verlieren ihre führenden Nullen
Aus CSV bleiben Werte wie 007 Text. Aus YAML ist ein 007 ohne Anführungszeichen laut YAML-Standard die Zahl 7, und die Hinweise sagen das auch; setz es im YAML in Anführungszeichen, um es als Text zu behalten.
Mehrere YAML-Dokumente werden nicht unterstützt
Die Eingabe enthält mehr als ein durch --- getrenntes Dokument, wie es in Kubernetes-Dateien oft vorkommt. Konvertiere die Dokumente einzeln.

Häufige Fragen

Welche YAML-Funktionen werden unterstützt?

Block-Mappings und -Listen, Flow-Collections wie [a, b] und {a: 1}, einfache, einfach und doppelt quotierte Strings über mehrere Zeilen, Literal- (|) und Folded-Block-Strings (>) mit Chomping-Indikatoren, Kommentare, Anker und Aliase, der Merge-Key << und das Tag !!str. Komplexe ?-Schlüssel, andere Tags und mehrere Dokumente in einer Eingabe brechen mit einem Fehler ab, der die Funktion nennt, statt falsche Daten zu erzeugen.

Wie wird verschachteltes JSON in CSV geschrieben?

Jede Zeile ist ein Objekt des Arrays. Verschachtelte Objekte werden zu Spalten mit Punktnamen wie address.city. Arrays werden standardmäßig als JSON-Text in eine Zelle geschrieben oder auf nummerierte Spalten (tags.0, tags.1) verteilt, wenn du In columns wählst. Die Spalten sind die Vereinigung der Schlüssel aller Zeilen, in der Reihenfolge ihres ersten Auftretens. null wird zu einer leeren Zelle.

Welche Typen erzeugt die Umwandlung von CSV in JSON?

Mit Numbers wird ein Wert nur dann zur JSON-Zahl, wenn er schon genau so geschrieben ist (42, -1.5, 1e3), und true und false werden zu Booleans. 007, +5 und 1,000 bleiben Text, ebenso leere Zellen. Schalte Numbers aus, um jeden Wert als String zu behalten.

Werden meine Daten an einen Server geschickt?

Nein. Parsen und Konvertieren laufen in deinem Browser. Damit nach einem Neuladen nichts verloren geht, bleibt das Eingefügte im Session Storage dieses Tabs, bis du es löschst oder den Tab schließt. Copy link legt die Eingabe hinter das # im Link; diesen Teil schicken Browser nie an einen Server, aber jeder, dem du den Link gibst, kann sie lesen. Deine Einstellungen wie Formate und Trennzeichen werden in diesem Browser gespeichert.