Aller au contenu

Convertir XML en JSON

Convertit du XML en JSON avec xml-js en mode compact : les attributs vont sous _attributes, le texte sous _text, et les éléments frères répétés deviennent un tableau. Toutes les valeurs restent des chaînes.

Examiner en JSON une réponse SOAP, RSS ou d’une ancienne API XML avant d’écrire le code d’analyse.

XML

Quand l’utiliser

  • Examiner en JSON une réponse SOAP, RSS ou d’une ancienne API XML avant d’écrire le code d’analyse.
  • Extraire les valeurs d’attributs et de texte d’un export XML pour alimenter des outils basés sur JSON.

Mode d’emploi

  1. Collez du XML ou chargez un fichier .xml dans l’éditeur de gauche.
  2. Dans le JSON, lisez les attributs dans _attributes, le texte des éléments dans _text et les éléments répétés dans des tableaux.
  3. Copiez le JSON et reportez les champs dont vous avez besoin dans votre propre structure.

Entrée XML

<order id="1042">
  <customer>Ada Lovelace</customer>
  <item sku="A-1">Keyboard</item>
  <item sku="B-7">Mouse</item>
</order>

JSON

{
  "order": {
    "_attributes": {
      "id": "1042"
    },
    "customer": {
      "_text": "Ada Lovelace"
    },
    "item": [
      {
        "_attributes": {
          "sku": "A-1"
        },
        "_text": "Keyboard"
      },
      {
        "_attributes": {
          "sku": "B-7"
        },
        "_text": "Mouse"
      }
    ]
  }
}

Détails et limites

La conversion s’exécute dans le navigateur. Il n’y a pas de paramètres ; le format compact est fixe.

Un élément présent une fois est un objet, mais présent deux fois il devient un tableau : la forme du JSON peut donc changer selon les données. Gérez les deux cas dans votre code.

La déclaration XML, les commentaires et les sections CDATA sont conservés sous _declaration, _comment et _cdata. Aucune validation par schéma (XSD) ou DTD n’est effectuée.

Le contenu mixte (texte entremêlé de balises) perd son ordre d’origine.

FAQ

Les nombres et booléens sont-ils convertis en types JSON ?

Non. Les valeurs d’attributs et le texte restent des chaînes, par exemple "1042". Convertissez les types dans votre propre code si nécessaire.

Que se passe-t-il si mon XML est mal formé ?

La page affiche une erreur "Invalid XML" au lieu du JSON, comme "unclosed tag <order>" ou "Unexpected close tag (line 3, column 8)". Fermez chaque élément, mettez les valeurs d’attributs entre guillemets et échappez & en &amp;.

Puis-je obtenir du JSON sans les clés _text et _attributes ?

Pas sur cette page. Le format compact les conserve pour ne pas confondre attributs et texte. Restructurez le résultat dans votre code après l’avoir copié.

Spécifications et références