Pourquoi convertir du XML en JSON
Le XML fait encore tourner les flux RSS, les sitemaps, les services SOAP, les factures, les documents bureautiques et beaucoup d'intégrations d'entreprise. Le code web moderne travaille pourtant plus naturellement avec du JSON. La conversion permet d'inspecter rapidement des données XML, de les donner à JavaScript ou de les stocker dans une base orientée documents.
Le convertisseur utilise fast-xml-parser avec des réglages qui préservent l'information : les attributs deviennent des clés commençant par @, le texte d'un élément qui a aussi des attributs va dans #text, et les éléments répétés deviennent des tableaux. La déclaration XML et les instructions de traitement sont supprimées, le JSON n'ayant pas de place pour elles.
XML ou JSON : comparaison rapide
| Caractéristique | XML | JSON |
|---|---|---|
| Nom complet | Extensible Markup Language | JavaScript Object Notation |
| Type | Données hiérarchiques balisées | Données hiérarchiques |
| Création | 1998 | Début des années 2000 (RFC 4627 en 2006) |
| Créé par | W3C | Douglas Crockford ; aujourd'hui ECMA-404 et RFC 8259 |
| Structure | Éléments imbriqués avec attributs | Objets et tableaux imbriqués |
| Commentaires | Oui, avec <!-- --> | Non |
| Types de données | Texte, sauf si un schéma XSD définit des types | Chaîne, nombre, booléen, null, objet, tableau |
| Idéal pour | Échanges de données d'entreprise, flux et fichiers bureautiques | API, applications web et réglages d'applis |
| Compatibilité | Tous les langages ; très présent dans les systèmes d'entreprise | Tous les langages de programmation |
| Type MIME | application/xml | application/json |
Comment convertir du XML en JSON
Étape 1: Sélectionnez le fichier XML
Déposez un fichier .xml, comme un flux, un sitemap ou un export.
Étape 2: Gardez JSON comme sortie
JSON est présélectionné ; CSV et YAML sont aussi disponibles.
Étape 3: Convertissez
Le document est analysé et chaque élément devient une propriété.
Étape 4: Téléchargez
Enregistrez le fichier .json indenté.
Règles de correspondance
Attributs
<item id="7"> devient { "item": { "@id": 7 } }.
Texte avec attributs
Le texte de l'élément est stocké sous #text quand des attributs sont présents.
Éléments répétés
Deux frères ou plus portant le même nom deviennent un tableau.
Nombres prudents
Les nombres simples et true ou false deviennent des valeurs JSON ; les codes à zéros initiaux restent des chaînes.
Usages typiques du XML vers JSON
Lire des flux RSS et Atom. Manipulez les éléments d'un flux comme des objets JavaScript.
Migration d'API anciennes. Inspectez des réponses SOAP ou XML pendant le passage au JSON.
Audit de sitemaps. Chargez des listes d'URL dans des scripts ou des tableurs.
Conversion de configuration. Déplacez des réglages de fichiers XML vers des outils basés sur le JSON.
Le problème de l'élément unique ou répété
Le XML n'indique pas si un élément est censé être une liste. Si un flux contient un seul élément, il devient un objet ; avec deux éléments, il devient un tableau. Le code qui lit le JSON doit donc gérer les deux formes, par exemple en plaçant les valeurs uniques dans un tableau.
C'est une limite de toute conversion XML sans schéma, pas de cet outil : tout convertisseur générique y est confronté.
Ce qui n'est pas repris
Les commentaires, instructions de traitement et la déclaration XML sont supprimés. Les préfixes d'espace de noms sont conservés dans les noms, comme media:content, pour distinguer les éléments. Les espaces autour des valeurs texte sont retirés.
Le contenu mixte, où texte et éléments s'entremêlent dans un même parent, est simplifié : les morceaux de texte sont réunis dans #text et leur position exacte entre les éléments enfants n'est pas conservée.
- Conservés : éléments, attributs, texte, préfixes d'espace de noms.
- Supprimés : commentaires, déclarations, instructions de traitement.
- Simplifié : le contenu mixte texte et éléments.
Conseils pour le XML vers JSON
- Vérifiez que le XML est bien formé ; une seule balise non fermée bloque la conversion.
- Normalisez les éléments uniques en tableaux dans votre code avant de les parcourir.
- Les gros flux se convertissent bien, mais le JSON indenté peut être plus volumineux que le XML.
- Pour revenir en arrière, utilisez le convertisseur JSON vers XML, qui comprend les clés @ et #text.
Questions sur la conversion XML en JSON
Comment les attributs sont-ils représentés ?
Par des propriétés dont le nom commence par @, par exemple @id ou @href.
Pourquoi un élément est-il un objet et un autre un tableau ?
Les éléments frères répétés deviennent des tableaux ; un élément unique devient un objet. Le XML lui-même n'indique pas quels éléments sont des listes.
Les nombres sont-ils convertis ?
Les nombres simples et les valeurs true ou false deviennent des nombres et booléens JSON. Les valeurs à zéros initiaux, comme 007, et les très longs nombres restent des chaînes.
La déclaration XML est-elle conservée ?
Non. La déclaration et les instructions de traitement sont supprimées, le JSON ne pouvant pas les représenter.
Les espaces de noms sont-ils gérés ?
Les préfixes d'espace de noms sont conservés dans les noms de propriétés, par exemple atom:link.
Quelque chose est-il envoyé ?
Non. L'analyse se fait dans votre navigateur.