Zum Hauptinhalt springen
PulsarKit

JSON in XML umwandeln

Erstellen Sie aus JSON ein gültiges XML-Dokument. Wurzelelement und Elemente für Einträge benennen Sie selbst, und Schlüssel, die XML nicht annimmt, werden repariert statt verworfen.

Dateien hier ablegen

.json, .ndjson, .txt · bis 300 MB

Weitere Einstellungen

In XML umwandeln: So geht’s

  1. 1

    JSON-Datei ablegen

    Fügen Sie eine Datei oder bis zu zwanzig hinzu. Der Text wird in diesem Browser-Tab gelesen und geparst, und ein Syntaxfehler nennt die genaue Zeile und Spalte.

  2. 2

    Wurzel- und Eintragselement benennen

    Das Wurzelelement umschließt das ganze Dokument, der Elementname für Einträge wird für jeden Eintrag eines Arrays wiederverwendet. Schlüssel, die mit dem Attributpräfix beginnen, werden zu Attributen.

  3. 3

    Umwandeln und XML herunterladen

    Klicken Sie auf die Schaltfläche, und Sie erhalten ein eingerücktes Dokument mit XML-Deklaration. Mehrere Dateien kommen als ein ZIP-Archiv zurück.

Schlüssel, die XML nicht als Tag-Namen akzeptiert

Schlüssel in JSON-Objekten sind fast beliebig, die Namen von XML-Elementen nicht. „2024 sales“, „order id“ und der leere String sind gültige Schlüssel, aber keiner davon lässt sich als Tag schreiben. Würden diese Felder stillschweigend wegfallen, gingen Daten verloren. Deshalb werden ungültige Zeichen zu Unterstrichen, ein Name, der mit einer Ziffer beginnt, bekommt ein n vorangestellt, und die vollständige Liste „vorher – nachher“ kommt mit dem Ergebnis zurück.

Zeichen, die XML grundsätzlich verbietet

Um kaufmännische Und-Zeichen und spitze Klammern kümmert sich das Escaping. Steuerzeichen unter 0x20 sind ein anderes Problem: XML 1.0 lehnt sie ab, egal wie sie geschrieben sind, und weder eine Entität noch ein CDATA-Abschnitt rettet sie. Ein einziges verirrtes 0x0B, aus einer Tabellenzelle eingefügt, würde das ganze Dokument für jeden Parser unbrauchbar machen. Deshalb werden diese Bytes entfernt und gezählt, und die Anzahl steht neben dem Ergebnis.

Attribute, Textknoten und null

Ein Schlüssel, der mit dem Attributpräfix beginnt – standardmäßig @_ –, wird zu einem Attribut seines Elternelements statt zu einem Kindelement, und der Textschlüssel trägt den eigenen Text des Elements. JSON kennt null, XML hat dafür keine Entsprechung, also entscheiden Sie: ein leeres Element, ein mit xsi:nil markiertes Element oder gar kein Element.

Die Datei verlässt diesen Tab nie

Datei lesen, JSON parsen, Namen reparieren und XML serialisieren – all das geschieht in Ihrem Browser, in einem Worker-Thread, mit Code, der mit der Seite geliefert wurde. Es gibt keinen Schritt zum Hochladen, keine Warteschlange und kein Konto. Schließen Sie den Tab, ist die Datei weg, denn nirgendwo sonst wurde je eine Kopie angelegt.

Häufige Fragen

Wie lege ich den Namen des Wurzelelements fest?

Der Name des Wurzelelements ist das erste Feld auf der Seite, Standardwert ist root. Er muss ein gültiger XML-Name sein (Buchstaben, Ziffern, Punkte, Bindestriche und Unterstriche; er darf weder mit einer Ziffer noch mit dem reservierten Präfix xml beginnen). Ist er das nicht, erfahren Sie es sofort, zusammen mit einem Korrekturvorschlag.

Wie mache ich aus einem JSON-Schlüssel ein XML-Attribut?

Stellen Sie dem Schlüssel in Ihrem JSON @_ voran, dann wird er zu einem Attribut des umschließenden Elements statt zu einem verschachtelten Tag. Das Präfix lässt sich mit bis zu drei Zeichen frei festlegen. Leeren Sie das Feld, ist die Zuordnung zu Attributen ganz abgeschaltet, und jeder Schlüssel wird zu einem Element.

Was passiert mit Schlüsseln, die keine gültigen XML-Tag-Namen sind?

Standardmäßig werden sie repariert: Unzulässige Zeichen werden zu Unterstrichen, vor eine führende Ziffer kommt ein n, und ein leerer Schlüssel erhält den Elementnamen für Einträge. Eine Warnung listet auf, was umbenannt wurde. Sie können alle Korrekturen auch ohne Meldung durchführen lassen oder stattdessen beim ersten ungültigen Schlüssel mit einem Fehler abbrechen.

Was passiert mit null-Werten?

Es gibt drei Möglichkeiten. Ein leeres Element hält das Feld im Dokument sichtbar. xsi:nil kennzeichnet es ausdrücklich als null, so wie es Programme mit Schema-Unterstützung erwarten, und deklariert den Namespace am Wurzelelement. Beim Überspringen fällt das Feld weg. Standard sind leere Elemente, weil sie sich bei der Umwandlung hin und zurück am berechenbarsten verhalten.

Wann brauche ich CDATA?

Selten, denn gewöhnliches Escaping ist immer korrekt. CDATA dient vor allem der Lesbarkeit, wenn Werte viel Text enthalten, der wie Markup aussieht. Schalten Sie es ein, dann landen Strings mit mehr als 200 Zeichen oder mit spitzen Klammern und kaufmännischen Und-Zeichen in einem CDATA-Abschnitt. Ein wörtliches ]]> in einem solchen Wert wird auf zwei Abschnitte aufgeteilt, damit die Ausgabe gültig bleibt.

Bleibt die Reihenfolge der Schlüssel erhalten?

Ja. Elemente werden in der Reihenfolge geschrieben, in der die Schlüssel im Ausgangs-JSON stehen, und Array-Einträge behalten ihre Indexreihenfolge. Attribute stehen vor den Kindelementen, weil XML es so verlangt, folgen untereinander aber ebenfalls der Reihenfolge der Quelle. So bleibt die Ausgabe stabil genug, um verschiedene Durchläufe per Diff zu vergleichen.

Wird meine Datei irgendwohin hochgeladen?

Nein. Alles geschieht in Ihrem Browser-Tab, und JSON-Parser und XML-Serialisierer sind Teil der Seite, kein Dienst irgendwo im Netz. Es gibt keinen Server, der die Datei empfangen könnte, daher wird nichts gespeichert, protokolliert oder nach dem Schließen des Tabs aufbewahrt.

Ähnliche Tools