À propos de cet outil
XML et JSON sont les deux formats texte dominants pour les données structurées, mais ils correspondent à des structures différentes : XML porte des éléments, des attributs, du texte mixte et des CDATA, tandis que JSON dispose d'objets, de tableaux et de primitives typées. Ce convertisseur analyse le XML avec son propre tokeniseur (sans DOMParser) et applique une correspondance prévisible — les attributs deviennent des clés "@name", les éléments composés uniquement de texte deviennent des valeurs de type chaîne, les éléments frères répétés sont regroupés en tableaux, et un élément qui porte à la fois des attributs ou des enfants et du texte conserve ce texte sous une clé "#text". Les CDATA sont lus comme du texte ; les commentaires et la déclaration XML sont supprimés. Le sens JSON → XML applique les mêmes règles en sens inverse, en échappant le texte et les valeurs d'attribut et en indentant avec deux espaces.
Utilisez-le pour fournir une charge utile SOAP ou RSS héritée à une API qui n'accepte que du JSON, pour examiner une configuration XML dense sous la forme d'une arborescence d'objets navigable, ou pour effectuer un aller-retour sur un document et confirmer que sa structure est préservée. L'option « Typer automatiquement les valeurs » transforme les correspondances de chaîne complète comme "42", "true" et "null" en véritables nombres, booléens et null JSON afin que le code en aval n'ait pas à ré-analyser les chaînes — désactivez-la lorsque vous avez besoin que chaque feuille reste une chaîne. En mode JSON → XML, définissez le nom de l'élément racine utilisé lorsque le JSON n'est pas un objet à clé unique.
Les deux conversions s'exécutent entièrement dans votre navigateur — aucun XML ni JSON n'est jamais envoyé à un serveur.
Questions fréquentes
Comment les attributs XML sont-ils représentés dans la sortie JSON ?
Chaque attribut devient une clé préfixée par "@" sur l'objet de l'élément — par exemple <book id="42"> devient {"book": {"@id": 42}}. La reconversion du JSON en XML retransforme toute clé préfixée par "@" en attribut.
Qu'advient-il des éléments XML répétés et du contenu textuel mixte ?
Les éléments frères qui partagent un nom de balise sont regroupés dans un tableau JSON. Lorsqu'un élément possède des attributs ou des éléments enfants en plus de son propre texte, ce texte est stocké sous une clé "#text" afin que rien ne soit perdu.
Le convertisseur gère-t-il les CDATA, les commentaires et la déclaration XML ?
Les sections CDATA sont lues comme du texte brut et fusionnées dans la valeur de l'élément. Les commentaires et la déclaration <?xml ... ?> sont supprimés, car ni l'un ni l'autre ne porte de données qui correspondent proprement au JSON.