Pourquoi la conversion JSON–XML est plus complexe qu'il n'y paraît
JSON et XML n'ont pas de correspondance structurelle biunivoque. JSON prend en charge les tableaux nativement, tandis que XML représente la répétition par des éléments frères de même nom. Notre convertisseur utilise la convention hybride "BadgerFish"/"Parker" : les objets JSON deviennent des éléments XML, les clés commençant par "@" deviennent des attributs XML.
Lors de la conversion de XML en JSON, les nœuds de texte, les attributs et les éléments enfants sont gérés de manière cohérente. Les éléments de texte pur produisent une simple valeur de chaîne dans JSON.
Les éléments avec à la fois des attributs et du contenu textuel produisent un objet avec des clés "@attribut" et une clé "$" pour le texte.
JSON vers XML : conventions de structure
Encapsulation racine : Un objet JSON est encapsulé dans un élément racine. Vous pouvez spécifier le nom de l'élément racine (par défaut : "root") dans les options.
Tableaux : Un tableau JSON à la clé "item" produit des frères <item> répétés. La clé "@" devient un attribut XML ; la clé "$" devient le contenu textuel.
Attributs : Une clé JSON commençant par "@" devient un attribut XML. {"@id": "1", "nom": "Alice"} devient <element id="1"><nom>Alice</nom></element>.
XML vers JSON : gestion du XML complexe
Espaces de noms : Les espaces de noms XML sont préservés dans JSON dans le cadre du nom d'élément ou d'attribut.
Contenu mixte : Les éléments XML contenant à la fois du texte et des éléments enfants sont représentés comme un tableau d'objets et de chaînes.
CDATA et instructions de traitement : Les sections CDATA sont traitées comme du texte brut. Les instructions de traitement sont optionnellement préservées.