JSON ⇄ XML umwandeln
JSON ⇄ XML
Wandelt zwischen JSON und XML um, mit einstellbarer Behandlung von Attributen, Arrays und Textknoten.
Konvertiert XML nach JSON und zurück. Es gibt keine kanonische Abbildung zwischen den beiden – XML hat Attribute, geordneten gemischten Inhalt und Namespaces, JSON hat nichts davon –, also macht diese Seite ihre Entscheidungen explizit und lässt Sie sie ändern, statt eine Konvention zu verstecken.
Ein Attribut sieht dann aus wie `@id`.
Wohin der eigene Text eines Elements kommt.
XML
JSON
@name und der eigene Text eines Elements landet in #text, während gleichnamige Geschwister zu einem Array werden. Genau dort kann der Rundweg Information verlieren: Eine Liste, die zufällig ein einziges Element hat, kommt als einzelnes Objekt zurück, solange „immer Arrays verwenden“ nicht eingeschaltet ist.Eingang
215 Zeichen
Ausgang
399 Zeichen
So funktioniert es
Wählen Sie die Richtung
Die beiden Seiten behalten getrennte Eingaben, sodass das Hin- und Herwechseln nicht verliert, was Sie eingefügt hatten.
Legen Sie Attributpräfix und Textschlüssel fest
`@` und `#text` sind die verbreitete Konvention (fast-xml-parser, xml2js und andere verwenden sie), aber wenn das JSON, das Sie erzeugen müssen, etwas anderes verwendet, ändern Sie es hier statt in der Nachbearbeitung.
Schalten Sie „immer Arrays“ ein, wenn das JSON in Code geht
Das ist der verlustbehaftete Teil der Abbildung: Ein `<item>` wird zu einem Objekt, zwei werden zu einem Array, und der konsumierende Code muss beides behandeln. Arrays zu erzwingen macht die Form stabil, um den Preis einiger Weitschweifigkeit.
Häufige Fragen
Gibt mir der Hin- und Rückweg mein XML zurück?
Strukturell meist, Byte für Byte nein. Kommentare, Verarbeitungsanweisungen und der Unterschied zwischen `<a/>` und `<a></a>` überleben nicht, und gemischter Inhalt – Text und Elemente verschränkt – lässt sich in JSON nicht so darstellen, dass die Reihenfolge erhalten bleibt.
Warum ist `12` ein String?
Weil XML keine Typen hat – jeder Wert in einem Dokument ist Text, und nur ein Schema sagt etwas anderes. Der Schalter Umwandeln rät Zahlen und Booleans, aber es ist ein Raten: Ein Produktcode `0123` wird zu 123, und ein Versionsstring `1.10` wird zu 1.1.
Was geschieht mit Namespaces?
Präfixe bleiben Teil des Elementnamens – `soap:Body` wird zum Schlüssel `soap:Body` –, und `xmlns`-Deklarationen kommen als gewöhnliche Attribute durch. Nichts wird zu einem Namespace-URI aufgelöst, sodass zwei Dokumente, die verschiedene Präfixe für denselben Namespace verwenden, verschiedenes JSON ergeben.
Kann ich ihm eine SOAP-Antwort geben?
Ja, und das ist einer der häufigen Gründe, hier zu sein. Umschlag, Body und Nutzlast kommen alle als verschachtelte Objekte durch; die `@`-Schlüssel sind, wo die SOAP-Attribute landen.
Eingabe aus
XML formatieren und validieren
XML Formatter & Validator
Rückt XML ein und meldet Zeile und Spalte des ersten Wohlgeformtheitsfehlers.
XPath-Tester
XPath Tester
Wertet einen XPath- oder CSS-Selektor gegen XML oder HTML aus und listet jeden passenden Knoten auf.
JSON formatieren und validieren
JSON Formatter & Validator
Formatiert, minimiert und validiert JSON und zeigt bei Syntaxfehlern die genaue Zeile und Spalte.
YAML formatieren und validieren
YAML Formatter & Validator
Rückt YAML einheitlich ein, validiert es und markiert die Tab- und Anker-Fehler, an denen Parser scheitern.
Danach
Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.
JSON formatieren und validieren
JSON Formatter & Validator
Formatiert, minimiert und validiert JSON und zeigt bei Syntaxfehlern die genaue Zeile und Spalte.
JSONPath-Tester
JSONPath Tester
Führt einen JSONPath-Ausdruck gegen ein Dokument aus und hebt die passenden Knoten beim Tippen hervor.
XML formatieren und validieren
XML Formatter & Validator
Rückt XML ein und meldet Zeile und Spalte des ersten Wohlgeformtheitsfehlers.
XPath-Tester
XPath Tester
Wertet einen XPath- oder CSS-Selektor gegen XML oder HTML aus und listet jeden passenden Knoten auf.
Base64 kodieren und dekodieren
Base64 Encoder & Decoder
Kodiert und dekodiert Base64 und Base64URL für Text oder Dateien und behandelt UTF-8 korrekt.
curl in Code
curl to Code
Wandelt einen curl-Befehl in fetch, axios, Python requests, Go, PHP oder PowerShell um.