Convertisseur Gratuit

XML to JSON Converter

Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.

Select XML file

or drag and drop here

Ou

À propos de cet outil

XML et JSON sont tous deux des formats d'échange de données mais proviennent d'époques différentes du Web. XML, standardisé en 1998, a été conçu comme un format de balisage auto-descriptif avec des attributs, des espaces de noms et une validation de schéma. JSON est apparu au début des années 2000 comme un format plus léger, mieux adapté aux environnements d'exécution JavaScript et aux API modernes. La plupart des nouvelles API Web parlent JSON ; de nombreux systèmes plus anciens (services SOAP, flux RSS, fichiers de configuration, intégrations d'entreprise) produisent encore du XML. La conversion entre eux est l’une des tâches d’interopérabilité les plus courantes dans le développement moderne.

La conversion ne se fait pas parfaitement sans perte car les deux formats ont des puissances d'expression différentes. XML possède des attributs (ce que JSON n'a pas nativement), fait la distinction entre le contenu du texte et les noms d'éléments et prend en charge le contenu mixte (éléments contenant à la fois du texte et des éléments enfants). Le modèle objet/tableau simple de JSON ne peut pas représenter directement ces fonctionnalités, c'est pourquoi les convertisseurs appliquent des conventions : les attributs deviennent des clés avec préfixe @, le contenu du texte devient une clé #text, et ainsi de suite.

Ce convertisseur analyse XML à l'aide du DOMParser intégré au navigateur et parcourt l'arborescence DOM résultante pour produire du JSON. Les éléments portant le même nom de balise que les frères et sœurs sont rassemblés dans des tableaux ; les attributs vont dans des clés spéciales ; les espaces de noms et les instructions de traitement sont conservés lorsqu’ils sont présents. Le résultat est un JSON lisible par l’homme qui revient raisonnablement au XML.

Pourquoi convertir XML en JSON

La plupart des codes d’application modernes sont plus à l’aise avec JSON. JavaScript analyse JSON de manière native, le module json de Python se trouve dans la bibliothèque standard et pratiquement tous les autres langages disposent d'un support JSON équivalent de première classe. Le traitement XML nécessite l'importation de bibliothèques supplémentaires et l'écriture de davantage de passe-partout. La conversion du XML entrant en JSON avant le traitement est souvent le chemin le plus rapide depuis le flux XML externe vers la structure de données interne.

Les outils s'appuient également sur JSON. Les embellisseurs, validateurs, validateurs de schéma, langages de requête (jq, JSONPath) et visualiseurs JSON sont nombreux ; les équivalents XML sont moins nombreux et souvent plus anciens. Travailler en JSON ouvre un écosystème d’outils plus riche.

Comment l'utiliser

Collez XML, obtenez JSON.

  1. Collez ou téléchargez votre XML: Collez le texte XML dans la zone de saisie ou déposez un fichier. Le XML doit être bien formé ; un XML mal formé produit une erreur d'analyse plutôt qu'une supposition.
  2. Convertir: DOMParser construit un DOM, le convertisseur parcourt chaque élément et JSON est généré à l'aide de clés d'attribut (@attr) et de clés de contenu de texte (#text) si nécessaire. Les éléments frères portant le même nom deviennent des tableaux.
  3. Revoir la structure: Inspectez le JSON pour confirmer que les attributs, le texte et l'imbrication sont mappés comme prévu. Les conventions utilisées (par exemple, @ pour les attributs) sont visibles dans la sortie.
  4. Télécharger ou copier: Enregistrez au format .json ou copiez dans le presse-papiers.

Cas d'utilisation courants

Détails techniques

DOMParser produit un DOM XML identique à celui utilisé par le navigateur pour les pages XHTML. Le convertisseur parcourt ce DOM de manière récursive. Pour chaque élément, il crée un objet JSON : les attributs deviennent des clés préfixées par @ (par exemple, @id, @class) ; les éléments enfants de l'élément sont récurrés dans la même structure ; le contenu textuel, lorsqu'il est présent aux côtés des enfants, vit sous une clé #text.

Les éléments enfants répétés portant le même nom de balise sont collectés dans un tableau JSON. Un seul enfant d'un nom donné apparaît comme valeur d'objet ; plusieurs enfants apparaissent sous la forme d'un tableau d'objets. Cette convention fonctionne bien dans la pratique, mais signifie que la forme JSON dépend du fait que les éléments apparaissent une ou plusieurs fois – une imperfection connue du mappage XML vers JSON.

Les espaces de noms sont conservés dans le cadre des noms d'éléments (préfixe : localName). Les instructions de traitement et les sections CDATA sont converties en contenu texte. Les déclarations XML et les DOCTYPE sont supprimés de la sortie JSON mais n'affectent pas les données.

Meilleures pratiques

Questions fréquentes

La conversion de XML en JSON modifie-t-elle le contenu ?
Le contenu est conservé aussi précisément que possible. Cependant, certaines fonctionnalités spécifiques au format peuvent ne pas avoir d'équivalents directs, de sorte que des différences mineures de formatage peuvent survenir.
Pourquoi convertir les données au format JSON ?
JSON est le format de données standard pour les API Web et les applications JavaScript. Il est lisible par l'homme, largement pris en charge par les langages de programmation et possède une syntaxe plus simple que XML.
Le convertisseur gère-t-il les structures XML imbriquées ou complexes ?
Oui. L'outil analyse correctement les objets imbriqués, les tableaux et tous les types de données XML standard, préservant ainsi la structure complète des données dans la sortie JSON.
Cette conversion est-elle sécurisée et privée ?
Oui. Tout le traitement s'effectue localement dans votre navigateur. Vos données ne quittent jamais votre appareil : pas de téléchargement sur le serveur, pas de traitement cloud, pas de collecte de données.
Les sections CDATA sont-elles gérées ?
Oui. Le contenu CDATA est converti en texte brut dans la sortie JSON. L'encapsulation CDATA lui-même n'est pas conservé, mais le contenu l'est.
Mes données sont-elles téléchargées sur un serveur ?
Non. DOMParser s'exécute dans votre navigateur ; la conversion s'effectue entièrement sur votre appareil.
L'aller-retour JSON vers XML ?
Oui si vous utilisez la convention inverse (l'outil JSON vers XML suit les mêmes règles @attr et #text). L'aller-retour préserve la structure du XML typique ; certains cas extrêmes (ordre de contenu mixte, instructions de traitement) peuvent ne pas survivre parfaitement.
Quelle est la taille maximale d’entrée ?
Jusqu'à 50 Mo. DOMParser est limité en mémoire par votre navigateur ; les fichiers XML très volumineux peuvent ralentir ou échouer à être analysés.