Convertisseur XML vers JSON
Convertit des données XML en JSON. Transformez les réponses d'anciennes API XML, des messages SOAP ou des flux RSS/Atom en JSON — attributs sous @attributes, texte sous #text, éléments répétés en tableaux — directement dans le navigateur.
Astuces d'utilisation
- Les éléments avec attributs sont regroupés dans un objet `@attributes`, séparé du texte ou des éléments enfants propres à l'élément.
- Quand un élément mélange des attributs avec des éléments enfants ou du texte, la partie texte est stockée sous `#text`, afin de ne jamais être confondue avec une valeur d'attribut.
- Les éléments frères qui partagent le même nom sont automatiquement regroupés en tableau : trois balises `
- ` deviennent un tableau de 3 éléments, tandis qu'une seule reste un simple objet.
- Un élément vide sans attribut, texte ni enfant (par exemple `
`) devient `null`. - Les préfixes d'espace de noms comme `xmlns` ne sont pas séparés — un élément reste identifié par la clé `ns:tag`, préfixe inclus.
Questions fréquentes
Anecdote — Pourquoi il n'existe pas une seule façon "correcte" de transformer du XML en JSON
Contrairement à la simple correspondance ligne-vers-objet entre CSV et JSON, il n'existe pas de convention universellement admise pour convertir entre XML et JSON. Le XML permet aux attributs, aux nœuds de texte et aux éléments enfants de coexister au sein d'un même élément, alors que JSON ne connaît que de simples paires clé-valeur — une convention doit donc être choisie au moment de la conversion. Des implémentations majeures comme xml2json, xml-js et org.json ont chacune adopté des règles différentes sur la manière de représenter les attributs et de traiter le texte qui coexiste avec des éléments enfants.
Les développeurs continuent malgré tout de rencontrer souvent du XML. Les API web basées sur SOAP, les intégrations de systèmes vieilles de plusieurs décennies dans la finance, l'administration et la santé, les flux RSS/Atom et les fichiers de mise en page Android ne sont que quelques-uns des domaines où le XML reste aujourd'hui le format standard. Le besoin persiste de récupérer des données issues de ces systèmes hérités et de les injecter dans une chaîne d'outils moderne qui ne comprend que le JSON — en les traitant avec jq ou en les manipulant comme un simple objet en JavaScript.
La convention `@attributes`/`#text` adoptée par cet outil est un choix pratique et courant, plutôt qu'une notation chargée de symboles. Les éléments feuilles sans attribut sont convertis directement en leur valeur textuelle, ce qui garde lisibles en JSON simple des valeurs de configuration basiques ou un titre RSS, tandis que les éléments porteurs d'attributs sont explicitement isolés — un simple coup d'œil au résultat converti suffit alors à savoir quelles valeurs étaient à l'origine des attributs.