Comment convertir du JSON en XML
- Collez du JSON ou ouvrez un fichier
.json. Le XML s'affiche à côté au fil de la saisie. - Indiquez le nom de l'élément racine (ou laissez-le vide pour utiliser l'unique clé de premier niveau), le préfixe des attributs et l'indentation.
- Copiez le XML ou téléchargez-le sous forme de fichier
.xml.
Correspondance entre JSON et XML
| JSON | XML |
|---|---|
{"name": "Ada"} | <name>Ada</name> |
{"@id": "7"} | attribut id="7" sur l'élément parent |
{"#text": "Hello"} | contenu texte de l'élément parent |
{"tag": ["a", "b"]} | <tag>a</tag><tag>b</tag> |
{"note": null} | <note/> |
{"2nd key": 1} | <_2nd_key>1</_2nd_key> – les noms invalides sont corrigés |
tableau de premier niveau [1, 2] | <root><item>1</item><item>2</item></root> |
&, <, > dans le texte | &, <, > |
JSON vs XML : les différences
JSON possède des tableaux, des nombres, des booléens et null ; XML ne connaît que des éléments, des attributs et du texte. Les types ne sont donc pas conservés : 42 comme "42" deviennent tous deux le texte 42. À l'inverse, XML dispose d'attributs, d'espaces de noms et de contenu mixte, absents de JSON. Si vous prévoyez de reconvertir plus tard le XML en JSON, conservez les conventions courantes utilisées ici (@ pour les attributs et #text pour le contenu texte), que la plupart des convertisseurs comprennent.
Questions fréquentes
Comment les tableaux JSON sont-ils convertis en XML ?
Chaque élément du tableau devient un élément XML portant le nom de la clé du tableau : {"book": [ … ]} donne donc plusieurs éléments <book>. Les éléments d'un tableau de premier niveau deviennent des éléments <item> placés dans la racine.
Comment créer des attributs XML à partir de JSON ?
Préfixez la clé par @ : {"user": {"@id": 7, "name": "Ada"}} devient <user id="7"><name>Ada</name></user>. Vous pouvez modifier le préfixe dans les options.
Que deviennent les clés qui ne sont pas des noms XML valides ?
Les caractères interdits dans les noms XML, comme les espaces, sont remplacés par des tirets bas, et les noms qui commencent par un chiffre ou par « xml » sont précédés d'un tiret bas : "2nd key" devient <_2nd_key>.
Le XML généré est-il valide ?
Oui. Les caractères spéciaux sont échappés, chaque nom d'élément est valide et le document comporte exactement un élément racine, avec une déclaration XML facultative en tête.