XML vers JSON
Convertir des documents XML en JSON propre et prévisible
Qu'est-ce qu'un convertisseur XML vers JSON ?
XML fut le format de données par défaut des années 2000 et survit dans les flux RSS, les API bancaires, les services SOAP et les fichiers de configuration hérités. Le JavaScript, Python et Go modernes lisent bien plus naturellement le JSON. Un convertisseur XML vers JSON traduit un document en objets simples avec un schéma prévisible : chaque élément devient un objet, les attributs sont préfixés par "@@" pour que l'attribut "id" ne heurte jamais un élément enfant "id", le contenu texte vit sous "@text" et les frères répétés s'assemblent en tableaux.
Ce qu'il peut faire
- Analyser les éléments imbriqués en objets JSON
- Séparer les attributs (préfixe @@), le texte (@text) et les enfants
- Regrouper automatiquement les frères répétés en tableaux
- Gérer CDATA, commentaires, déclarations et balises auto-fermantes
- Signaler les balises mal appariées ou non fermées avec une erreur claire
- Formater le JSON avec une indentation lisible
Quand l'utiliser
- Lire des flux RSS/Atom ou des réponses de type SOAP
- Migrer une configuration XML vers des pipelines JSON
- Inspecter ce que renvoie réellement une API XML héritée
- Construire des fixtures JSON de test à partir de données XML de référence
Confidentialité : la conversion a lieu entièrement dans votre navigateur — rien de ce que vous collez n'est jamais téléversé.
La correspondance utilisée par ce convertisseur
- Les attributs XML deviennent des clés préfixées par
@(price currency="EUR"→{"@currency":"EUR"}), afin qu’ils ne puissent jamais entrer en conflit avec les éléments enfants. - Un élément qui mélange du texte et des éléments enfants conserve son texte sous la clé
#text; un élément contenant uniquement du texte est directement mappé sur une chaîne brute. - Les éléments frères répétés sont regroupés dans un tableau ; la déclaration XML, les commentaires et les instructions de traitement sont ignorés.
Les attributs et les nœuds de texte nécessitent une convention
Attributs et texte, jamais mélangés
Les attributs deviennent des clés préfixées "@@id" et le texte vit sous "@text", donc un attribut et un élément du même nom ne peuvent jamais se remplacer l'un l'autre.
Les listes restent des listes
Les frères répétés s'assemblent automatiquement en tableau JSON : un catalogue de cinq livres devient un tableau de cinq objets, pas un livre écrasé.
Tolérant au vrai XML
CDATA, commentaires, DOCTYPE et balises auto-fermantes s'analysent proprement, tandis que le XML vraiment mal formé échoue avec un message descriptif.
Questions fréquentes
Comment les attributs sont-ils représentés ?⌄
Les attributs deviennent des clés préfixées "@@", p. ex. <book id="5"> devient {"@@id":"5"}. Cela évite la collision classique entre un attribut "id" et un élément enfant du même nom.
Que deviennent les éléments répétés ?⌄
Les frères répétés du même nom sont regroupés automatiquement en tableau JSON. Une occurrence unique reste un objet unique ; plusieurs deviennent un tableau — les deux cas se lisent intuitivement.
Mon XML est-il envoyé quelque part ?⌄
Non. Tout s'exécute dans votre navigateur en JavaScript pur — rien n'est transmis ni stocké.
Où est passé mon attribut dans la sortie JSON ?⌄
Recherchez la clé préfixée par @ sur le même objet que son élément. Si vous ne voyez que #text, l’élément possédait à la fois des attributs et du contenu ; si vous vous attendiez à trouver un attribut mais n’en trouvez aucun, celui-ci se trouvait sur un nœud parent — développez l’arborescence d’un niveau vers le haut.