Convertisseur XML en JSON

Convertissez du XML en JSON et choisissez comment traiter les attributs, les éléments répétés et les espaces de noms. Tout se passe dans votre navigateur : votre XML n'est jamais envoyé.

Le convertisseur fonctionne entièrement dans votre navigateur et a besoin de JavaScript. Le reste de cette page fonctionne sans. Autres solutions : la bibliothèque xmltodict en Python, ou fast-xml-parser en Node.js.

Collez du XML, déposez un fichier ou chargez l'exemple. Les fichiers sont lus dans votre navigateur : rien n'est envoyé. Appuyez sur Ctrl+Enter pour convertir.

Résultat

JSON avec numéros de ligne. Ouvrez Options pour changer l'écriture des attributs, du texte et des tableaux.

Le JSON s'affichera ici.

Cet outil vous a aidé ? Soutenir XMLNest

« Load example » remplit la zone d'entrée et « Convert » écrit le JSON. Dans « Options », « Arrays » réglé sur « Always » place chaque élément dans un tableau, et le résultat change aussitôt. « Copy » copie le JSON dans le presse-papiers. (25 secondes, sans son, interface en anglais)

Comment convertir du XML en JSON en ligne ?

Collez votre XML dans la zone d'entrée, ouvrez un fichier avec Ouvrir un fichier… ou déposez-le sur l'outil. Appuyez ensuite sur Convertir ou Ctrl+Enter (⌘+Enter sur Mac). Le JSON s'affiche dans la zone Résultat, en couleurs et avec numéros de ligne. Copiez-le, ou téléchargez-le en fichier .json au nom de votre fichier XML. Charger l'exemple affiche d'abord un petit catalogue de livres.

Comment le XML devient-il du JSON ?

L'élément racine devient la seule clé de l'objet JSON. Un élément qui ne contient que du texte devient une chaîne. Un élément avec des attributs ou des enfants devient un objet : d'abord les attributs, précédés d'un @, puis les enfants dans l'ordre de leur première apparition. Si un élément a des attributs et du texte, le texte va sous #text. Les enfants de même nom sont regroupés dans un tableau, même si d'autres éléments les séparent. Commentaires, instructions de traitement et déclaration XML sont laissés de côté.

Attributs, tableaux et espaces de noms : quelles options choisir ?

Ouvrez Options quand le code qui lit le JSON attend une autre forme. Un préfixe en tiret bas, ou aucun préfixe, donne des clés plus simples à écrire en JavaScript. Tableaux réglé sur Toujours transforme chaque élément enfant en tableau : une liste d'un seul élément a alors la même forme qu'une liste de dix. Retirer les préfixes transforme g:price en price. Nombres et true/false écrit 42 et true sans guillemets ; désactivez cette option si des codes postaux ou des identifiants doivent rester du texte.

Ce convertisseur envoie-t-il mon fichier ?

Non. La conversion a lieu dans cet onglet du navigateur. Votre fichier est lu sur votre appareil, et les règles de sécurité de cette page l'empêchent d'envoyer quoi que ce soit. Rien n'est enregistré : votre XML disparaît quand vous fermez l'onglet. Si le XML est défectueux, vous obtenez la première erreur avec sa ligne et sa colonne, comme dans le validateur XML, et Aller à l'erreur la sélectionne dans la zone d'entrée.

Convertir du XML en JSON dans votre code

Dans un projet, une bibliothèque fait le même travail : xml2js ou fast-xml-parser en Node.js, xmltodict en Python, Jackson en Java. Chacune a ses propres conventions pour les attributs et les tableaux : comparez un échantillon de sa sortie avec le résultat d'ici avant de vous y fier. Pour remettre d'abord le XML lui-même en ordre, utilisez le formateur XML.

Questions

Comment les attributs XML sont-ils convertis en JSON ?

Chaque attribut devient une clé qui commence par @, avec sa valeur en chaîne, par exemple la clé @id avec la valeur bk101. Dans Options, vous pouvez utiliser un tiret bas à la place, ou aucun préfixe.

Pourquoi un élément devient-il un tableau et un autre non ?

Par défaut, seuls les éléments qui se répètent dans le même parent deviennent des tableaux. Si votre code a besoin de la même forme à chaque fois, réglez Tableaux sur Toujours.

Que deviennent les espaces de noms ?

Les préfixes restent tels quels, comme dc:title, et les déclarations xmlns apparaissent comme des attributs. Choisissez Retirer les préfixes dans Options pour obtenir des noms simples.

Y a-t-il une taille maximale ?

Oui, 20 Mo pour un fichier ouvert ou pour du texte collé. La conversion se fait en arrière-plan, et la page reste réactive pendant ce temps.

Peut-il reconvertir du JSON en XML ?

Pas encore. Cet outil convertit seulement du XML en JSON. Un convertisseur JSON vers XML pourra venir plus tard, avec les autres outils de ce site.

Peut-on regarder un fichier XML dans Chrome avant de le convertir ?

Oui. Chrome affiche un fichier XML sans feuille de style sous forme d'arbre simple. XMLNest, une extension disponible sur le Chrome Web Store, ajoute le repli des nœuds, les numéros de ligne et une présentation plus claire, ce qui rend un gros fichier plus facile à lire.