JSON / CSV / YAML / SQL / XML Konverter
Daten für typische Entwicklungsaufgaben lokal im Browser umwandeln und prüfen.
Die SQL-Eingabe unterstützt INSERT INTO ... VALUES-Anweisungen (MySQL-, PostgreSQL-, SQL-Server- und SQLite-Stil); fügen Sie SELECT-Ergebnisse als CSV ein. CSV-Werte werden als Text gelesen. XML-Attribute stehen unter "@attributes", Elementtext neben Attributen oder Kindelementen unter "#text". Alles läuft lokal in Ihrem Browser.
So geht's
- Fügen Sie Ihre Daten in das Feld „Eingabedaten“ ein. Lassen Sie das Menü „Eingabe“ auf „Automatisch erkennen“ oder wählen Sie JSON, YAML, CSV, SQL oder XML, wenn Sie das Format kennen.
- Klicken Sie neben „Umwandeln in“ auf ein Format. Das Ergebnis erscheint unter „Ausgabe“, und eine Meldung über den Feldern bestätigt die Umwandlung und nennt alles, was Sie prüfen sollten, etwa große Zahlen, die an Genauigkeit verloren haben könnten, umbenannte Schlüssel oder ignorierte SQL-Anweisungen. Kann die Eingabe nicht gelesen werden, zeigt die Meldung den Fehler an, und „Ausgabe“ wird geleert.
- Passen Sie die Optionen an, die für dieses Format angezeigt werden, etwa „Trennzeichen“ und „Verschachtelte Daten“ für CSV, „SQL-Datenbank“, „Anweisung“ und „Tabelle“ für SQL oder „Wurzel“ und „Eintrag“ für XML. Jede Änderung wandelt die aktuelle Eingabe neu um, Sie müssen also nicht erneut auf die Formatschaltfläche klicken.
- Um die Eingabe zu prüfen, ohne sie umzuwandeln, klicken Sie auf „Syntax prüfen“. Sie erfahren dann entweder, dass die Syntax gültig ist, oder was nicht stimmt, mit Zeile und Spalte, sofern der Parser sie liefert.
- Prüfen Sie die „Ausgabe“ und klicken Sie dann auf „Ergebnis kopieren“. „Leeren“ leert beide Felder.
Häufig gestellte Fragen
Werden die eingefügten Daten irgendwohin gesendet?
Nein. Die Daten werden per JavaScript in Ihrem Browser eingelesen und umgewandelt, und das Tool lädt sie weder zu LeedyBox hoch noch speichert es sie. Beim Öffnen lädt die Seite zwei Open-Source-Bibliotheken direkt von leedybox.com, js-yaml für YAML und PapaParse für CSV; sie laufen innerhalb der Seite, und Ihre Daten werden nirgendwohin gesendet.
Wie wählt „Automatisch erkennen“ das Format, und wann sollte ich es selbst festlegen?
Eine Eingabe, die mit { oder [ beginnt, wird als JSON gelesen, eine Eingabe, die mit < beginnt, als XML, und eine Eingabe, die mit einem SQL-Schlüsselwort wie INSERT, CREATE, SET, START, UPDATE oder WITH und einem darauffolgenden Leerzeichen oder mit einem Kommentar -- oder /* beginnt, als SQL. Alles andere wird zuerst als CSV versucht, sofern die erste Zeile ein Komma, einen Tabulator oder ein Semikolon enthält, und danach als YAML. Wählen Sie das Format in folgenden Fällen selbst im Menü „Eingabe“: wenn CSV oder YAML mit einem Wort beginnt, das auch ein SQL-Schlüsselwort ist, etwa eine CSV-Kopfzeile, die mit Start date oder Update time beginnt, denn die Eingabe wird dann als SQL gelesen und schlägt fehl; wenn jede Zeile einer YAML-Eingabe gleich viele Kommas enthält, etwa title: Hello, world gefolgt von tags: news, tech, denn sie kann dann als CSV gelesen werden; bei CSV mit senkrechtem Strich als Trennzeichen oder mit nur einer Spalte, das die automatische Erkennung nicht erkennt; und wenn eine YAML- oder CSV-Eingabe fehlschlägt, denn die automatische Erkennung meldet dann nur, dass das Format nicht erkannt wurde, während bei einem gewählten Format die eigene Fehlermeldung des Parsers und in den meisten Fällen die Fehlerstelle erscheint.
Akzeptiert das Tool JSON mit Kommentaren, nachgestellten Kommas oder einem Objekt pro Zeile?
Steht das Menü „Eingabe“ auf JSON, wird nur gültiges JSON akzeptiert; mit dieser Einstellung und „Syntax prüfen“ können Sie also kontrollieren, ob der Text gültiges JSON ist. Bei „Automatisch erkennen“ wird eine Eingabe, die mit { oder [ beginnt, aber kein gültiges JSON ist, nach Möglichkeit als YAML-Flow-Syntax gelesen, und ein Hinweis macht darauf aufmerksam: Nachgestellte Kommas, einfache Anführungszeichen und Schlüssel ohne Anführungszeichen funktionieren dann, ein Schlüssel ohne Anführungszeichen braucht aber ein Leerzeichen nach dem Doppelpunkt, denn {a:1} wird als Schlüssel namens a:1 mit dem Wert null gelesen. // und /* */ sind in YAML keine Kommentare; sie können in Schlüssel oder Werte geraten oder verhindern, dass die Eingabe gelesen wird, entfernen Sie sie daher vorher. JSON Lines (NDJSON) wird als Ausgabeformat angeboten, als Eingabe mit mehr als einer Zeile aber nicht gelesen; setzen Sie die Zeilen zwischen [ und ] und fügen Sie nach jeder Zeile außer der letzten ein Komma ein.
Warum wurde beim Umwandeln aus YAML 1.10 zu 1.1 oder 01234 zu 1234?
YAML-Werte ohne Anführungszeichen, die wie Zahlen aussehen, werden als Zahlen gelesen: Eine Version wie 1.10 wird zu 1.1, eine Postleitzahl wie 01234 zu 1234 und 0x1F zu 31. Setzen Sie solche Werte im YAML in Anführungszeichen, damit sie Text bleiben. Der Konverter liest YAML mit dem Core-Schema von js-yaml, das sich bei booleschen Werten und Datumsangaben nach YAML 1.2 richtet; daher bleiben yes, no, on, off und Datumsangaben wie 2026-10-02 Text, und nur Schreibweisen von true und false wie True oder FALSE werden zu booleschen Werten. Beim Umwandeln von JSON in YAML werden Zeichenketten, die missverstanden werden könnten, etwa "01234", "1.10" oder "yes", in Anführungszeichen geschrieben.
Warum wird ein XML-Element in einer Datei zu einem Objekt und in einer anderen zu einem Array?
Kindelemente, die sich unter demselben Elternelement wiederholen, werden zu einem Array, ein einzelnes dagegen zu einem einfachen Wert oder Objekt; <items> mit einem <item> ergibt daher eine andere Struktur als <items> mit zwei. Jeder XML-Wert wird als Text gelesen, daher wird <id>1</id> zu "1", und 007 behält seine Nullen, während Kommentare und Verarbeitungsanweisungen entfallen. Für die CSV- und SQL-Ausgabe werden die Zeilen aus einem Array innerhalb von Hüllelementen mit nur einem Schlüssel wie <items> entnommen; bei nur einem <item> landet daher das ganze Element als JSON-Text in einer einzigen Spalte. Bei CSV teilt „Abflachen (Spalten a.b.c)“ es in Spalten auf.
Kann ich einen MySQL- oder PostgreSQL-Dump als SQL-Eingabe einfügen?
Ja, sofern die Zeilen in INSERT INTO ... VALUES-Anweisungen stehen. CREATE TABLE, SET, LOCK und ähnliche Einrichtungsanweisungen werden übersprungen, andere Anweisungen wie DROP TABLE werden mit einem Hinweis ignoriert, und Zeilen aus mehreren Tabellen werden zu einer Liste zusammengeführt; fügen Sie daher jeweils nur eine Tabelle ein, wenn sich die Spalten unterscheiden. mysqldump lässt Spaltennamen standardmäßig weg, daher heißen die Spalten column1, column2 usw., sofern Sie nicht mit --complete-insert exportieren. pg_dump schreibt Zeilen standardmäßig als COPY-Blöcke, die das Tool nicht liest; exportieren Sie stattdessen mit --column-inserts. Enthält der Dump auch Funktionen oder gespeicherte Prozeduren, fügen Sie nur die INSERT-Anweisungen ein: Das Tool teilt die Eingabe an Semikolons auf, daher kann ein INSERT im Rumpf einer Funktion als Daten gelesen werden oder die Umwandlung abbrechen.
Warum erscheinen Zahlen aus einer CSV-Datei in Anführungszeichen, und welche Spaltentypen verwendet „CREATE TABLE + INSERT“?
Jeder CSV-Wert wird als Text behandelt. Dadurch bleiben führende Nullen wie in 01234 erhalten, aber aus 42 wird in JSON "42" und in SQL '42', und eine leere Zelle wird zu einer leeren Zeichenkette statt zu null bzw. NULL. Der Typ jeder Spalte wird anhand der Werte in dieser Spalte gewählt, daher erhält eine aus CSV erstellte Tabelle Textspalten: VARCHAR(255) oder TEXT, wenn ein Wert länger als 255 Zeichen ist (NVARCHAR(255) bzw. NVARCHAR(MAX) für SQL Server, TEXT für SQLite). Ist die Eingabe JSON oder YAML und ist jeder Wert einer Spalte eine Zahl ohne Anführungszeichen oder jeder Wert true oder false, erhält die Spalte stattdessen einen Zahlen- oder Boolean-Typ: einen Ganzzahltyp (INT, INTEGER oder BIGINT, je nach Datenbank und Größe der Zahlen), einen Gleitkommatyp für Dezimalzahlen oder BOOLEAN (BIT für SQL Server, INTEGER für SQLite). Die Anweisung enthält keinen Primärschlüssel, keine Indizes und keine NOT-NULL-Constraints; ergänzen Sie diese vor dem Ausführen, wenn Ihre Tabelle sie benötigt.