Convertisseur XML-JSON
Convertissez XML en JSON et JSON en XML en ligne, dans votre navigateur, sans envoi. Conserve attributs, CDATA, zéros initiaux et structures imbriquées.
À propos du convertisseur XML-JSON
XML-JSON Converter est un outil gratuit qui convertit vos données XML (eXtensible Markup Language) et JSON (JavaScript Object Notation) dans les deux sens. Les conversions se font localement, avec gestion des attributs, structures imbriquées et options de formatage.
Pourquoi convertir entre XML et JSON ?
XML domine dans les systèmes historiques, SOAP, fichiers de configuration et applications d'entreprise, tandis que JSON est la norme pour les APIs REST, le web moderne et les bases NoSQL. La conversion permet d'intégrer des systèmes anciens, de traiter du XML côté JavaScript, ou de préparer des données JSON pour des moteurs XML.
Comment sont gérés les attributs XML ?
Par défaut, les attributs deviennent des propriétés JSON préfixées par "@_" (ex. <book id="1"> -> {"@_id": "1"}). Vous pouvez choisir de les ignorer. Lors du retour vers XML, les propriétés commençant par "@_" redeviennent des attributs.
Mes données quittent-elles mon appareil ?
Non. Toutes les conversions s'exécutent dans votre navigateur. Aucun transfert vers un serveur.
À quoi sert « Analyser les valeurs de balise » ?
Activée (par défaut), l'option convertit automatiquement les nombres, booléens et null détectés dans le texte XML vers le type JSON correspondant. Désactivée, toutes les valeurs restent des chaînes. Utile pour conserver de vrais types numériques dans vos scripts.

Puis-je personnaliser l'XML en sortie ?
Oui : définissez un nom de racine personnalisé, choisissez l'indentation (2 ou 4 espaces) et activez/désactivez le formatage (pretty-print). La déclaration XML est ajoutée automatiquement.
Comment sont gérés les tableaux JSON ?
Chaque élément du tableau devient une balise répétée. Exemple : {"books": [{"title": "Book 1"}, {"title": "Book 2"}]} produit <books><title>Book 1</title><title>Book 2</title></books>, la représentation standard des listes en XML.
Comment sont gérées les sections CDATA et les commentaires XML ?
Laissez l'option « Conserver CDATA et commentaires » activée (par défaut) pour un aller-retour sans perte. Les sections CDATA sont stockées sous la clé « #cdata » et les commentaires XML sous « #comment », puis reconstruits en <![CDATA[...]]> et <!-- ... --> lors du retour vers XML. C'est essentiel lorsque votre XML enveloppe du HTML, des scripts ou du balisage échappé dans du CDATA : sans cette option, ces contenus et les commentaires sont supprimés silencieusement. Désactivez-la uniquement si vous voulez un JSON plus simple sans avoir besoin de les conserver.
Note : cet outil utilise la bibliothèque fast-xml-parser, un standard largement utilisé pour la conversion XML/JSON sous Node.js et dans le navigateur.
Pourquoi mon code postal 01234 est-il devenu 1234 et comment garder les zéros initiaux ?
Quand « Analyser les valeurs des balises » est activé, fast-xml-parser tente de convertir le texte ressemblant à un nombre en nombre réel, ce qui supprime les zéros initiaux et peut corrompre codes postaux, numéros de compte, références SKU et numéros de téléphone. Laissez l'option « Conserver les zéros initiaux » activée (par défaut) : elle définit leadingZeros:false afin que toute valeur commençant par un zéro — comme <zip>01234</zip> — reste la chaîne « 01234 ». C'est indispensable pour les exports ERP, les réponses d'API SOAP et les fichiers de configuration où le texte exact compte. Pour garder toutes les valeurs en chaînes, désactivez entièrement « Analyser les valeurs des balises ».
Comment forcer un élément à toujours être un tableau et comment sont gérés les espaces de noms ?
Par défaut, une balise présente une seule fois devient un objet JSON et la même balise répétée devient un tableau ; les listes à un seul élément peuvent donc perdre leur forme de tableau. Si votre code attend toujours un tableau, post-traitez le JSON ou enveloppez la valeur dans [] après la conversion. Les éléments et attributs avec espace de noms (par exemple xmlns:soap ou soap:Body) sont conservés avec leur préfixe dans la clé, si bien que les enveloppes SOAP se convertissent correctement dans les deux sens. Combinez cela avec « Conserver CDATA et commentaires » et « Conserver les zéros initiaux » pour un travail de migration de données fiable.
