Convertissez instantanément vos fichiers XML en JSON propre et bien indenté. Collez simplement votre XML et obtenez un JSON lisible, structuré et prêt à utiliser dans vos projets web, API ou applications JavaScript.
XML to JSON — Convertisseur en ligne
📄 XML (entrée)
📋 JSON (résultat)
XML vs JSON : comparaison
XML (eXtensible Markup Language) et JSON (JavaScript Object Notation) sont deux formats d'échange de données très populaires, mais avec des philosophies différentes :
| Aspect | XML | JSON |
|---|---|---|
| Taille | Plus verbeux (+30/40%) | Plus compact |
| Lisibilité | Très lisible, balises fermantes | Syntaxe légère, intuitif |
| Support natif JS | Nécessite du parsing DOM | Natif (JSON.parse/stringify) |
| Attributs | Supportés directement | Pas de concept d'attributs |
| Types de données | Tout est texte (string) | Numbers, booleans, null, arrays |
| Cas d'usage | Configurations complexes, SOAP | APIs REST modernes, web |
Pourquoi convertir XML en JSON ?
La conversion de XML en JSON est nécessaire pour plusieurs raisons pratiques :
- 🔄 Migration d'APIs : Passer d'une API SOAP/XML legacy vers une API REST JSON
- 📡 Intégration de flux : Consommer des flux RSS/Atom (basés sur XML) dans une application web JavaScript
- ⚙️ Configurations : Convertir des fichiers de configuration XML (Spring, Maven) en JSON pour les outils modernes
- 💾 Stockage : Réduire la taille des données stockées (XML → JSON = -30% en moyenne)
- 📊 Compatibilité : Utiliser des parsers JSON ultra-optimisés plutôt que du parsing DOM XML complexe
Cas d'usage courants
🌐 Flux RSS
Convertir un flux RSS/Atom (XML) en JSON pour l'afficher dans une app web
🔐 SOAP → REST
Transformer des réponses SOAP (XML) en JSON pour une API REST
📦 Maven/Gradle
Convertir pom.xml ou build.gradle en structure JSON pour analyse
🗂️ Export de base de données
Transformer un export XML de DB en JSON pour traitement JavaScript
Exemple pratique de conversion
Voici un exemple concret de conversion XML → JSON :
XML original
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Handbook</title>
<price currency="USD">44.95</price>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<price currency="USD">5.95</price>
</book>
</catalog>
JSON résultant
{
"catalog": {
"book": [
{
"@attributes": {
"id": "bk101"
},
"author": "Gambardella, Matthew",
"title": "XML Developer's Handbook",
"price": {
"@attributes": {
"currency": "USD"
},
"#text": "44.95"
}
},
{
"@attributes": {
"id": "bk102"
},
"author": "Ralls, Kim",
"title": "Midnight Rain",
"price": {
"@attributes": {
"currency": "USD"
},
"#text": "5.95"
}
}
]
}
}
Gestion des attributs XML en JSON
Les attributs XML n'ont pas d'équivalent direct en JSON. Notre convertisseur utilise deux conventions :
@attributes
Les attributs XML sont placés dans une propriété @attributes
<user id="123" role="admin">...</user>
// Devient:
{
"@attributes": {
"id": "123",
"role": "admin"
}
}
Nœuds texte
Le contenu texte avec attributs utilise la clé #text
<price currency="USD">99.99</price>
// Devient:
{
"@attributes": { "currency": "USD" },
"#text": "99.99"
}
Bonnes pratiques de conversion
- ✅ Validez votre XML : Un XML malformé produira une erreur. Utilisez un validateur avant conversion.
- ✅ Nettoyez les espaces : Les espaces et retours à la ligne vides peuvent créer des nœuds parasites. Indenteation propre recommandée.
- ✅ Gérez les attributs : Décidez à l'avance comment gérer les attributs (@attributes vs. propriété directe).
- ✅ Testez en production : Vérifiez que votre application JavaScript peut parser le JSON généré correctement.
- ✅ Compressez si nécessaire : Utilisez JSON.stringify() sans l'indentation pour réduire la taille en transmission.
- ✅ Documenter la structure : Laissez une trace du schéma JSON résultant pour votre équipe.