Aller au contenu

Convertir du XML en JSON

Transformez un document XML en JSON : attributs en clés @, éléments répétés en tableaux et nombres typés, grâce à l’analyseur XML de votre navigateur, sur votre appareil.

Convertir en
Déposez un fichier XMLXML jusqu’à 100 Mo · JSON, CSV, XLSX, XLS, ODS jusqu’à 500 Mo
Choisir un fichierTraité sur votre appareil, jamais envoyé
Fonctionne dans votre navigateur · aucun envoiComment ça marche

Comment utiliser XML vers JSON

  1. 1

    Collez ou déposez le XML

    Un fichier .xml, un flux RSS ou Atom, une réponse SOAP ou n’importe quel texte XML ; l’encodage indiqué dans sa déclaration est respecté.

  2. 2

    Définissez la forme du JSON

    Attributs sous forme de clés @, de clés simples ou ignorés ; tableaux uniquement pour les éléments répétés ou partout ; nombres typés ou conservés comme texte.

  3. 3

    Copiez le JSON

    Indenté ou compact : copiez-le dans le presse-papiers ou téléchargez le fichier .json.

Limites et Pro

Fichiers XML jusqu’à 100 Mo, XML collé de toute taille que votre navigateur peut contenir.

À propos de XML vers JSON

Le convertisseur XML vers JSON sert quand une API, un portail administratif ou une ancienne intégration vous fournit du XML alors que votre code attend du JSON. L’élément racine du document devient l’unique clé de premier niveau, chaque élément enfant devient une propriété, et un élément qui apparaît plusieurs fois sous un même parent devient un tableau, dans l’ordre du document.

Les attributs demandent un choix, car le JSON n’en connaît pas. Par défaut, ils sont écrits comme des clés commençant par @ : <price currency="UZS">125000</price> devient {"@currency": "UZS", "#text": 125000}. Cela distingue les attributs des éléments enfants et permet de retrouver le même XML à partir du JSON. Les clés simples donnent des objets plus courts ; ignorer les attributs convient aux documents qui ne les utilisent que pour la gestion interne.

Valeurs : lorsque la détection des types est activée, 42 et 3.5 deviennent des nombres JSON et true/false des booléens. En revanche, tout ce qui serait modifié par une lecture numérique reste une chaîne : codes postaux et numéros de compte avec zéros initiaux, nombres de plus de 15 chiffres. Les éléments vides deviennent des chaînes vides.

Les espaces de noms sont conservés tels quels (dc:title), ou bien leurs préfixes peuvent être supprimés pour obtenir des clés plus propres, ce qui retire aussi les déclarations xmlns. « Toujours utiliser des tableaux » donne à chaque élément enfant la même structure de tableau, pratique quand certains enregistrements ont un auteur et d’autres trois.

Non repris : les commentaires, les instructions de traitement et le DOCTYPE ; le texte mêlé à des balises en ligne, comme dans les paragraphes XHTML, est réuni en une seule chaîne.

Confidentialité

Le XML est analysé dans un worker en arrière-plan de cette page, sans aucune requête réseau ; aucune DTD ni entité externe n’est récupérée et le document ne quitte jamais votre appareil.

XML vers JSON : questions fréquentes

Que signifie #text dans le JSON ?
Lorsqu’un élément possède des attributs ou des éléments enfants ainsi que son propre texte, ce texte a besoin d’une clé dédiée ; #text est la convention courante. <title lang="en">Guide</title> devient {"@lang": "en", "#text": "Guide"}. Un élément contenant uniquement du texte devient une simple valeur : <title>Guide</title> donne simplement "title": "Guide".
Les nombres sont-ils convertis ou laissés en chaînes ?
Si « Détecter les nombres et true/false » est activé, les valeurs clairement numériques ou booléennes reçoivent un type JSON. Les valeurs avec zéros initiaux, comme 007 ou un code postal, et les nombres de plus de 15 chiffres restent des chaînes, car les convertir les modifierait. Désactivez la détection pour conserver chaque valeur exactement comme texte.
Comment sont gérés les espaces de noms comme soap: ou dc: ?
Par défaut, les préfixes restent dans la clé : dc:title devient la clé "dc:title" et les déclarations xmlns apparaissent comme des attributs @xmlns. Activez « Supprimer les préfixes d’espace de noms » pour obtenir title et omettre les déclarations. Deux espaces de noms différents utilisant le même nom local partageraient alors une clé ; conservez donc les préfixes si cela compte.
Puis-je reconvertir le JSON en XML ensuite ?
Oui. Passez à la page JSON vers XML : les clés commençant par @ deviennent des attributs, #text devient le texte de l’élément et les tableaux deviennent des éléments répétés. L’ordre des éléments dans un parent peut changer si des noms d’enfants différents étaient entremêlés, et les commentaires disparaissent, mais les données survivent à l’aller-retour.
Pourquoi obtiens-je une erreur au lieu du JSON ?
Le XML n’est pas bien formé, et le message indique la ligne et la colonne du premier problème. Causes fréquentes : un & à remplacer par &amp;, une balise fermée dans le mauvais ordre, une valeur d’attribut sans guillemets, ou des entités HTML comme &nbsp; que XML ne définit pas. Corrigez cet endroit, puis collez à nouveau.

Autres usages de cet outil