Aller au contenu

Convertisseur XML en JSON

Transformez un document XML en JSON en conservant attributs, éléments répétés et texte dans une structure prévisible.

Traité localement dans votre navigateur

Options
0 caractères · 0 lignes
Le résultat apparaîtra ici.

Qu'est-ce que Convertisseur XML en JSON ?

XML et JSON modélisent les données différemment : tout convertisseur doit donc choisir des conventions. Ici, un élément devient une clé, les éléments frères répétés forment un tableau, les attributs deviennent des clés commençant par un préfixe (@_ par défaut), et le texte d’un élément qui a aussi des attributs ou des enfants va dans une clé #text.

La conversion s’appuie sur fast-xml-parser avec des réglages sûrs. Les valeurs restent des chaînes par défaut pour que des codes comme 007 ne perdent pas leurs zéros ; vous pouvez activer la conversion en nombres et booléens. La déclaration XML et les instructions de traitement sont supprimées, CDATA est fusionné au texte, et les cinq entités prédéfinies ainsi que les références numériques sont décodées. Les documents qui déclarent des entités sont refusés pour éviter les attaques « billion laughs » et XXE.

Comment ça marche ?

  1. Collez votre XML.
  2. Réglez le préfixe d’attribut et le nom du nœud texte, ou désactivez complètement les attributs.
  3. Activez si besoin la conversion des nombres et booléens et choisissez l’indentation de sortie.
  4. Copiez ou téléchargez le JSON, ou utilisez Échanger pour le reconvertir avec JSON en XML.

Cas d'usage courants

  • Consommer une API SOAP ou XML historique depuis un front-end JavaScript.
  • Convertir un flux RSS ou un sitemap en JSON pour le traiter.
  • Inspecter un export XML avec des outils JSON comme la visionneuse ou JSONPath.
  • Migrer une configuration XML vers JSON ou YAML.

Exemples

Essayez cette saisie dans l'outil ci-dessus :

Entrée
<?xml version="1.0"?>
<catalog lang="en">
  <book id="bk101">
    <title>XML Developer's Guide</title>
    <price currency="USD">44.95</price>
  </book>
  <book id="bk102">
    <title>Midnight Rain</title>
    <price currency="USD">5.95</price>
  </book>
</catalog>
Sortie
{
  "catalog": {
    "book": [
      {
        "title": "XML Developer's Guide",
        "price": {
          "#text": "44.95",
          "@_currency": "USD"
        },
        "@_id": "bk101"
      },
      {
        "title": "Midnight Rain",
        "price": {
          "#text": "5.95",
          "@_currency": "USD"
        },
        "@_id": "bk102"
      }
    ],
    "@_lang": "en"
  }
}

Confidentialité

Convertisseur XML en JSON s'exécute entièrement dans votre navigateur. Le texte ou les fichiers que vous fournissez sont traités sur votre appareil et ne sont ni envoyés, ni journalisés, ni stockés sur nos serveurs.

Limites

Les fonctions XML sans équivalent JSON sont perdues : commentaires, instructions de traitement et ordre du texte et des éléments entremêlés (contenu mixte). Un élément répété une fois devient un objet, deux fois ou plus un tableau : la forme dépend donc des données.

Questions fréquentes

Pourquoi mon unique élément enfant est-il un objet et non un tableau ?

Le convertisseur ne connaît pas le schéma : un seul <item> donne un objet, deux ou plus un tableau. Gérez les deux formes dans votre code, ou utilisez un outil orienté schéma si la forme doit être fixe.

Les entités XML et le DOCTYPE sont-ils traités ?

Les cinq entités prédéfinies et les références numériques sont décodées. Un DOCTYPE qui déclare des entités est refusé avec une explication, car de tels documents servent à une expansion exponentielle ou à lire des fichiers locaux dans des analyseurs non sécurisés.

Les nombres sont-ils convertis ?

Pas par défaut : toute valeur est une chaîne, sans perte. Activez « Convertir nombres et booléens » pour obtenir des valeurs JSON numériques et booléennes ; les valeurs à zéro initial comme 007 restent des chaînes.

Plus d'outils dans JSON & données →