Produire du XML valide à partir de JSON
Beaucoup de systèmes exigent encore du XML : passerelles de paiement, portails administratifs, normes de facturation électronique, flux et anciens logiciels d'entreprise. Convertir du JSON en XML paraît simple, mais le XML impose des règles que le JSON ignore : un seul élément racine, des noms qui ne commencent pas par un chiffre et ne contiennent pas d'espaces, et une distinction nette entre attributs et éléments enfants.
Ce convertisseur applique ces règles pour vous. Il ajoute une déclaration XML, enveloppe les données dans un élément racine si nécessaire, répète les éléments pour les tableaux, transforme les clés commençant par @ en attributs et corrige les noms que le XML refuserait.
JSON ou XML : comparaison rapide
| Caractéristique | JSON | XML |
|---|---|---|
| Nom complet | JavaScript Object Notation | Extensible Markup Language |
| Type | Données hiérarchiques | Données hiérarchiques balisées |
| Création | Début des années 2000 (RFC 4627 en 2006) | 1998 |
| Créé par | Douglas Crockford ; aujourd'hui ECMA-404 et RFC 8259 | W3C |
| Structure | Objets et tableaux imbriqués | Éléments imbriqués avec attributs |
| Commentaires | Non | Oui, avec <!-- --> |
| Types de données | Chaîne, nombre, booléen, null, objet, tableau | Texte, sauf si un schéma XSD définit des types |
| Idéal pour | API, applications web et réglages d'applis | Échanges de données d'entreprise, flux et fichiers bureautiques |
| Compatibilité | Tous les langages de programmation | Tous les langages ; très présent dans les systèmes d'entreprise |
| Type MIME | application/json | application/xml |
Comment convertir du JSON en XML
Étape 1: Choisissez un fichier JSON
Déposez un fichier .json dans le convertisseur.
Étape 2: XML est présélectionné
Laissez XML comme format de sortie.
Étape 3: Convertissez
Le JSON est traduit en éléments et attributs puis indenté avec deux espaces.
Étape 4: Téléchargez le XML
Enregistrez le fichier et validez-le avec le schéma du système destinataire s'il en a un.
Règles de conversion
Racine unique garantie
Un objet à une seule clé de premier niveau l'utilise comme racine ; tout le reste est placé dans <root>.
Tableaux en éléments répétés
{"tag": ["a", "b"]} devient deux éléments <tag>.
Attributs depuis les clés @
{"@id": 5} devient id="5" sur l'élément parent.
Noms sûrs
Les caractères invalides deviennent des tirets bas et les noms commençant par un chiffre reçoivent un tiret bas initial.
Quand le JSON vers XML est nécessaire
Intégrations avec des API XML. Préparez des corps de requête pour des services SOAP ou XML.
Flux et sitemaps. Générez des structures XML à partir de données JSON.
Facturation électronique et déclarations. Rédigez un XML que vous alignerez ensuite sur le schéma requis.
Imports dans d'anciens logiciels. Alimentez des outils qui ne lisent que le XML.
Comment l'élément racine est choisi
Si votre JSON est un objet avec exactement une clé, comme { "catalogue": { ... } }, cette clé devient l'élément racine. Si l'objet a plusieurs clés de premier niveau, ou si sa seule valeur est un tableau, tout est placé dans un élément <root> pour que le document reste valide.
Un tableau de premier niveau devient <root> contenant un élément <item> par entrée. Renommez root et item dans votre éditeur si le système cible attend d'autres noms.
- { "catalogue": {...} } donne <catalogue> comme racine.
- { "a": 1, "b": 2 } donne <root><a>1</a><b>2</b></root>.
- [ {...}, {...} ] donne <root><item>...</item></root>.
Allers-retours avec XML vers JSON
Le préfixe @ pour les attributs et #text pour le texte d'un élément correspondent à ce que produit le convertisseur XML vers JSON : vous pouvez convertir du XML en JSON, modifier les données puis revenir au XML.
Les valeurs null deviennent des éléments vides auto-fermants. Les caractères spéciaux comme & et < dans les valeurs sont échappés automatiquement, le résultat s'analyse donc sans erreur.
Conseils pour le JSON vers XML
- Utilisez une seule clé de premier niveau portant le nom de la racine attendue par votre système.
- Marquez les attributs avec @ dans votre JSON avant la conversion.
- Validez le résultat avec le XSD s'il est fourni.
- Évitez les tableaux de tableaux ; le XML n'a pas de façon naturelle de les exprimer.
Questions sur la conversion JSON en XML
Le résultat inclut-il une déclaration XML ?
Oui : <?xml version="1.0" encoding="UTF-8"?> est ajouté en tête.
Comment créer des attributs ?
Préfixez la clé par @, par exemple { "livre": { "@id": "42", "titre": "Dune" } }.
Que se passe-t-il avec les tableaux ?
Chaque élément devient un élément répété portant le nom de la clé du tableau.
Et si une clé n'est pas un nom XML valide ?
Les caractères invalides sont remplacés par des tirets bas, et les noms commençant par un chiffre reçoivent un tiret bas en préfixe.
Le XML est-il indenté ?
Oui, avec deux espaces par niveau pour la lisibilité.
Mon JSON est-il envoyé ?
Non. Le XML est généré dans votre navigateur.