Outils

Convertisseur XML vers JSON

Transformez du XML — flux RSS, sitemaps, réponses SOAP, POM Maven — en JSON et inversement, avec les attributs conservés sous un préfixe de votre choix.

S’exécute dans le navigateurFormats de données3,1 k
Gratuit

Entrée

0 B

Résultat

Le résultat apparaîtra ici.

Le XML reste la langue des flux RSS et Atom, des sitemaps, des services SOAP et des builds Maven, et la plupart du code qui les consomme préférerait du JSON. Cet outil convertit dans les deux sens avec fast-xml-parser, un analyseur sans dépendance largement utilisé dans l’écosystème Node. Le document est d’abord validé, de sorte qu’une balise fermante manquante est signalée avec sa ligne et sa colonne au lieu de produire un demi-résultat. Les attributs sont placés sous un préfixe, @_ par défaut, pour ne jamais entrer en collision avec des éléments enfants du même nom, et le texte reste en chaînes à moins que vous ne demandiez l’analyse des nombres et des booléens.

Comment ça marche

  • Les éléments frères répétés, comme les <item> d’un canal RSS, deviennent un tableau JSON ; un élément unique reste un objet.
  • Un élément qui a à la fois des attributs et du texte reçoit son texte sous #text, à côté des attributs préfixés.
  • Les valeurs typées sont désactivées par défaut, donc <version>2.10</version> reste "2.10" au lieu de devenir le nombre 2.1.
  • Vers le XML, le JSON doit avoir exactement une clé de premier niveau, qui devient l’élément racine.

Où vont vos données

Nulle part. Cet outil s’exécute entièrement dans votre navigateur : le texte collé est traité par la page, jamais transmis à un serveur ni consigné dans un journal.

Cet outil est gratuit et ne demande aucun compte. Ses résultats n’existent que dans la page ouverte et ne sont enregistrés nulle part.

Ce que ça coûte

Cet outil est gratuit, sans connexion ni points.

Questions fréquentes

Pourquoi un seul <item> donne-t-il un objet, mais deux un tableau ?
Le XML lui-même n’indique pas si un élément peut se répéter ; seul un schéma le fait. Avec un seul <item>, le convertisseur n’a aucune raison de créer un tableau. Si votre code attend un tableau à chaque fois, normalisez après la conversion, par exemple avec [].concat(channel.item).
Que signifie le préfixe @_ ?
Il marque les clés qui proviennent d’attributs plutôt que d’éléments enfants, si bien que <guid isPermaLink="true"> devient "@_isPermaLink": "true". Choisissez @ ou $ pour correspondre à ce que votre code utilise déjà. Le même préfixe indique au sens JSON vers XML quelles clés réécrire comme attributs.
Que deviennent les espaces de noms, les commentaires et les sections CDATA ?
Les préfixes d’espace de noms sont conservés dans le nom, donc atom:link reste atom:link. Les commentaires sont supprimés, et les sections CDATA sont lues comme du texte ordinaire. La déclaration XML et les instructions de traitement sont ignorées, car elles ne portent aucune donnée.
Puis-je coller sans risque du XML provenant d’une source non fiable ?
Oui. fast-xml-parser ne récupère jamais d’entités externes ni de DTD, les attaques XXE classiques n’ont donc rien à atteindre, et la conversion s’exécute dans cette page sans envoyer le document nulle part.

L’open source derrière

Cet outil fonctionne grâce à NaturalIntelligence/fast-xml-parser, publié sous licence MIT. Si vous avez besoin du même comportement dans votre propre programme, c’est cette bibliothèque qu’il faut utiliser.

NaturalIntelligence/fast-xml-parser

Aussi appelé

  • xml vers json
  • json vers xml
  • convertisseur xml en ligne
  • rss vers json
  • parser xml
  • convertir xml en json javascript