onlinetools.dev

XML ↔ JSON-Konverter

XML-Dokumente zu JSON konvertieren und zurück, Attribute inklusive

Läuft lokal
loading…
Über dieses Tool

Konvertiere XML zu JSON, um Legacy-SOAP-Antworten, RSS-Feeds oder Maven-POMs in JavaScript, jq oder eine JSON-native API zu füttern — oder geh den umgekehrten Weg und erzeuge XML aus JSON-Daten. Attribute bleiben erhalten: Sie werden zu "@_name"-Keys, und Textinhalt, der neben Attributen existiert, landet unter "#text" — es verschwindet also keine Information stillschweigend.

Die beiden Formate sind sich in Grundsatzfragen uneins, und dieser Konverter trifft die üblichen pragmatischen Entscheidungen: Wiederholte Geschwisterelemente kollabieren zu einem JSON-Array, numerisch aussehende Werte werden Zahlen, und Namespaces reisen als Teil des Elementnamens mit. Der Roundtrip XML → JSON → XML erhält für typische Dokumente Struktur und Inhalt.

Beide Richtungen laufen lokal in deinem Browser. Füge einen Rechnungs-Feed oder eine API-Antwort ein, ohne dass sie irgendwohin geht.

Häufige Fragen

Warum kommen manche Werte als Zahlen statt als Strings zurück?
Der Parser erkennt numerischen Text und konvertiert ihn — was die meisten Konsumenten wollen. Vorsicht bei Bezeichnern mit führenden Nullen (Produktcodes, Telefonnummern): Wenn das für deine Daten zählt, setze sie nach der Konvertierung in Anführungszeichen oder betrachte die Ausgabe als Ausgangspunkt.
Wie werden wiederholte Elemente behandelt?
Zwei oder mehr Geschwister mit demselben Namen werden zu einem JSON-Array unter diesem Key. Ein einzelnes Vorkommen bleibt ein einfaches Objekt — diese Asymmetrie steckt im Mapping selbst; Code, der das JSON konsumiert, sollte beide Formen tolerieren oder zuerst normalisieren.
Was bedeuten die Keys @_ und #text?
@_ markiert, was ein XML-Attribut war; #text trägt den Elementtext, wenn zusätzlich Attribute vorhanden sind. Dieselbe Konvention zurück in die Richtung JSON → XML gefüttert rekonstruiert das ursprüngliche Markup.
Warum lehnt JSON → XML mein Top-Level-Array ab?
Ein XML-Dokument muss genau ein Wurzelelement haben, und ein nacktes Array hat keins. Wickle das Array in ein Objekt — {"items": {"item": [...]}} — und der Konverter erzeugt ein wohlgeformtes Dokument.
Verwandte Tools