Convertir un JSON en XML JavaScript Object Notation ↔ Extensible Markup Language Gratuit En ligne Sûr
Déposez un fichier JSON et repartez avec du XML. La lecture et l'écriture se font ici, dans votre navigateur : le fichier ne quitte pas votre appareil — et ce que le passage garde, et ce qu'il ne peut pas, est écrit plus bas plutôt que laissé à votre découverte.
Convertissez votre fichier
Déposez ici un fichier JSON, ou choisissez-en un.
Votre fichier ne quitte pas cet appareil. Tout tourne dans votre navigateur.
Rien n'est envoyé
Convertir depuis JSON
Convertir vers JSON
D'où viennent ces formats
Le CSV est le plus ancien et le moins normalisé : un tableau écrit en lignes de texte, en usage depuis les années 1970 et décrit par écrit seulement en 2005, alors que chaque logiciel avait déjà décidé pour lui-même quel était le séparateur et quand mettre des guillemets. XML sortit de SGML en 1998, pour des documents devant porter une structure stricte et être vérifiés contre un schéma. JSON fut extrait de JavaScript par Douglas Crockford vers 2001, volontairement réduit aux objets, aux listes, aux nombres et aux chaînes — et ce dépouillement est la raison de sa conquête du web. YAML en est le cousin lisible, où l'indentation fait le travail que les accolades font ailleurs. Une seule chose compte en convertissant entre eux : le CSV est plat, une grille de lignes et de colonnes, tandis que JSON, XML et YAML sont des arbres.
Où vous les rencontrez
Le CSV est ce qu'exporte un tableur et ce que vous tendent un comptable, une plateforme de boutique ou un relevé bancaire. JSON est ce que parlent les services web et ce dans quoi s'écrivent de plus en plus les fichiers de configuration. XML survit dans les systèmes d'entreprise anciens, dans les normes de facturation et à l'intérieur même des formats bureautiques. YAML est là où des humains écrivent des réglages à la main. Convertir entre eux est le travail quotidien qui déplace les données de leur lieu de production vers leur lieu d'emploi.
Questions fréquentes
Mon CSV s'est ouvert en une seule colonne dans Excel. Pourquoi ?
Parce que votre tableur attendait un autre séparateur. Excel suit le séparateur de liste des paramètres régionaux : un point-virgule partout où la virgule sert déjà de signe décimal, c'est-à-dire dans une grande partie de l'Europe continentale. Un fichier séparé par des virgules apparaît alors comme une colonne de texte. Employez la boîte d'importation et déclarez le séparateur, plutôt que d'ouvrir le fichier d'un double clic. Ce même paramètre régional explique que 3.5 arrive parfois sous forme de date.
Pourquoi mon JSON imbriqué ne devient-il pas un tableur propre ?
Parce qu'un tableur est plat et que JSON est un arbre. Une ligne contient une valeur par colonne ; un objet JSON peut contenir une liste dans un champ dans une autre liste. Convertir, c'est choisir comment aplatir cela : soit coller les noms imbriqués en un long intitulé de colonne, soit répéter la ligne parente une fois par enfant. Les deux sont des compromis, et aucun ne se défait automatiquement — d'où le fait que revenir du tableur à la forme d'origine demande d'ordinaire une décision humaine.
Le fichier perd-il en qualité ?
Cela dépend de ce que les deux formats peuvent contenir. Convertir entre des formats qui gardent la même chose — un PNG en BMP, un WAV en FLAC — ne perd rien. Convertir vers un format qui jette de l'information pour gagner de la place, comme JPEG ou MP3, en perd un peu à chaque fois, et revenir en arrière ne la ramène pas. Là où un choix existe, cette page penche pour conserver la qualité d'origine plutôt que pour produire le plus petit fichier.
Mon fichier est-il envoyé quelque part ?
Non. La conversion se fait dans votre navigateur, sur votre propre machine ; le fichier ne la quitte jamais et il n'y a ici aucun serveur qui pourrait le recevoir. C'est pourquoi un gros fichier est limité par votre mémoire et non par un envoi, et pourquoi rien de ce que vous convertissez ne peut figurer dans les journaux de qui que ce soit — les nôtres compris. Les outils de son et de vidéo vont toutefois chercher leur moteur de conversion sur ce site à la première utilisation — une trentaine de mégaoctets, une seule fois ; ensuite le travail se fait toujours entièrement sur votre machine.
Pourquoi on convertit un JSON en XML
Le JSON est la langue du code web moderne : léger, lisible et compris par tous les langages de programmation. Le XML est son aîné, plus formel, écrit avec des balises qui s'ouvrent et se ferment, et il reste le format exigé dans un nombre surprenant d'endroits. Les logiciels de comptabilité, les systèmes fiscaux et douaniers, les plateformes de marchés publics, les flux de produits, les chaînes de publication, les logiciels d'entreprise et une longue liste de services web plus anciens attendent tous du XML. Quand vos données sont en JSON et que le système qui doit les recevoir parle XML, une conversion est nécessaire. C'est pourquoi on convertit des JSON en XML : on a l'information sous une forme, et la destination exige l'autre.
Les situations sont courantes. Un développeur qui doit envoyer des données d'une application moderne vers un service construit il y a des années. Une boutique qui exporte ses produits en JSON et doit remettre un flux à une place de marché qui veut du XML. Une équipe qui a besoin d'une configuration sous la forme de balisage qu'un outil préfère. Une étudiante qui veut voir à quoi ressemblent les mêmes données dans les deux notations. Dans chaque cas, le contenu est prêt, et seule la notation diffère.
Cette page convertit le JSON en XML dans votre navigateur. Votre fichier est lu et écrit ici et ne quitte donc jamais votre appareil, ce qui compte pour les commandes, les factures et tout ce qui est privé. Et la page vous dit à l'avance ce que le passage conserve et ce qu'il ne peut pas conserver, au lieu de vous laisser le découvrir. Vous trouverez plus bas comment fonctionne la conversion, comment les noms, les listes et les attributs sont traités et que faire des clés que le XML ne peut pas accepter.
Comment fonctionne la conversion
Tout l'arbre est repris
Votre fichier JSON est lu dans votre navigateur, et tout l'arbre est écrit en XML. Les objets deviennent des éléments, leurs clés deviennent les noms des éléments enfants, et les valeurs deviennent le texte à l'intérieur. L'imbrication du JSON est l'imbrication du XML ; la forme que vous voyez en accolades est donc la forme que vous obtenez en balises.
Le document porte le nom de la clé unique
Un document XML a besoin d'exactement un élément racine. Si votre objet JSON a une seule clé, cette clé nomme le document. C'est le cas commode : un fichier XML converti en JSON puis reconverti reste identique à lui-même, parce que l'élément racine devient la clé unique et revient comme élément racine. Si votre JSON a plusieurs clés au sommet, le convertisseur les enveloppe dans un élément racine pour que le résultat soit bien formé.
Les listes répètent l'élément
Un tableau répète son élément. Une clé products contenant une liste de trois enregistrements donne trois éléments product à la suite, ce qui est la manière dont le XML exprime une liste. L'ordre est conservé.
Ce qui est conservé
Tout l'arbre
Chaque objet, chaque liste et chaque valeur est repris. Rien n'est écarté, et l'imbrication est celle de l'original.
Les attributs, grâce au @
Une clé commençant par @ devient un attribut. Un enregistrement avec une clé @id et une clé name donne un élément avec un attribut id et un élément enfant name. C'est la même convention que celle de la conversion inverse ; un fichier XML converti en JSON puis reconverti conserve donc ses attributs.
L'ordre
Les clés gardent l'ordre dans lequel elles sont apparues dans le JSON ; les éléments du XML suivent donc la séquence de la source.
Ce qu'il faut savoir avant de convertir un JSON en XML
Toute clé JSON peut être un mot ; un nom XML ne le peut pas
Toute clé JSON peut être un mot, un nombre ou une expression avec des espaces. Un nom d'élément XML ne le peut pas : il doit commencer par une lettre ou un tiret bas et peut contenir des lettres, des chiffres, des traits d'union, des tirets bas et des points, mais pas d'espaces. Une clé qui n'est pas un nom valide n'est pas déformée pour en devenir un. Elle devient un élément item avec un attribut name, écrit item name="la clé d'origine", de sorte que l'original reste dans le fichier et reste retrouvable. Rien n'est renommé en silence.
Rien n'a d'espace de noms, rien n'a de schéma
Rien n'est placé dans un espace de noms, et rien ne reçoit de schéma. Le résultat est bien formé, non validé. Il sera lu par n'importe quel lecteur XML, mais savoir s'il satisfait la structure particulière qu'exige un système fiscal ou une place de marché est une autre question, et une question à laquelle seule la partie réceptrice peut répondre. Si un schéma exige certains noms d'éléments, vous devrez faire correspondre les clés du JSON à ces noms au préalable.
Les valeurs sont du texte
Le XML n'a pas de types : toute valeur dans les balises est du texte. Les nombres, true, false et null sont écrits sous forme de leur texte. Le programme qui lit le XML doit les interpréter comme il l'entend.
Comment convertir un JSON en XML ici
Ajoutez votre fichier
Déposez le fichier JSON sur la page ou choisissez-le sur votre appareil. Il est lu dans votre navigateur et n'est pas envoyé.
Convertissez
Appuyez sur le bouton. Un fichier de taille ordinaire prend un instant. Laissez la page ouverte jusqu'à la fin.
Téléchargez et vérifiez
Téléchargez le XML et ouvrez-le dans un éditeur de texte ou un navigateur. Regardez le début et la fin, et vérifiez que les noms d'éléments sont ceux que vous attendez et que les attributs apparaissent là où vous le vouliez.
Un regard plus attentif sur le JSON et le XML
Deux façons d'écrire un arbre
Le JSON et le XML décrivent tous deux un arbre de valeurs. Le JSON l'écrit avec des accolades et des crochets, et ne connaît que les objets, les listes, les chaînes, les nombres, les booléens et null. Le XML l'écrit avec des balises qui s'ouvrent et se ferment, et ajoute des attributs, des espaces de noms et du contenu mixte. Ils se recouvrent bien pour les données, comme les enregistrements et les réglages, et mal pour les documents, où texte et balisage s'entremêlent.
Pourquoi les conventions comptent
Le JSON n'a ni attributs, ni élément racine, ni notion de répétition d'un élément. Toute conversion a donc besoin de conventions : le @ pour les attributs, la clé unique pour la racine, la répétition des éléments pour les listes. Les conventions employées ici sont simples et cohérentes, et elles correspondent à celles utilisées pour passer du XML au JSON, ce qui permet à un aller-retour de fonctionner dans les cas courants.
Valeurs vides
Une chaîne vide et un null aboutissent tous deux à un élément vide. Si la différence compte pour le système destinataire, signalez-la dans les données avant de convertir le JSON en XML, par exemple avec un indicateur distinct.
Situations courantes en détail
Flux pour places de marché et comparateurs
De nombreuses plateformes demandent des flux de produits en XML. Si le logiciel de votre boutique exporte du JSON, convertissez le JSON en XML, vérifiez les noms d'éléments par rapport à la spécification de la plateforme et envoyez.
Services anciens et systèmes d'entreprise
Les systèmes construits à l'époque de SOAP et des premières API attendent du XML. Une application moderne peut produire du JSON et le faire convertir pour eux.
Configuration pour des outils qui préfèrent le XML
Certains outils de compilation, systèmes de gestion de contenu et programmes de bureau lisent leurs réglages dans du XML. Une configuration écrite en JSON peut être mise sous la forme dont ils ont besoin.
Apprendre et comparer
Voir les mêmes données dans les deux notations est un bon moyen de comprendre leurs différences. Collez un petit JSON, convertissez-le et comparez les deux côte à côte.
Conseils pratiques avant de convertir un JSON en XML
Vérifiez que le JSON est valide
Une virgule égarée ou un guillemet manquant arrêtera la conversion. Si la page signale une erreur, ouvrez le fichier dans un éditeur qui met en évidence les problèmes JSON et corrigez la ligne qu'il indique.
Faites des clés des noms d'éléments valides
Si vous savez que le XML sera vérifié par rapport à un schéma, utilisez des clés qui sont des noms valides et qui correspondent au schéma. Sinon, le convertisseur les conservera sans risque sous forme d'éléments item, ce qui est correct mais peut ne pas être ce qu'attend le destinataire.
Choisissez une clé unique au sommet
Si vous voulez que l'élément racine de votre XML porte un nom particulier, enveloppez vos données dans un objet ayant cette seule clé avant de convertir le JSON en XML.
Gros fichiers
Tout s'exécute sur votre appareil ; un très gros fichier demande donc de la mémoire. Pour des fichiers de plusieurs mégaoctets, utilisez un ordinateur et scindez les données si la page peine.
Questions que l'on se pose avant de convertir
Qu'est-ce qui nomme l'élément racine ?
Un objet à clé unique nomme le document d'après cette clé.
Comment obtenir un attribut ?
Commencez la clé par un @. Elle devient un attribut de l'élément.
Que devient une clé contenant une espace ?
Ce n'est pas un nom d'élément valide ; elle devient donc un élément item avec un attribut name contenant la clé d'origine. Rien n'est perdu.
Le XML passera-t-il une vérification de schéma ?
Le résultat est bien formé, non validé. Qu'il respecte ou non un schéma donné dépend de vos noms d'éléments et de votre structure.
Mon fichier est-il envoyé ?
Non. La conversion s'exécute dans votre navigateur et le fichier ne quitte jamais votre appareil.
Puis-je revenir au JSON ?
Oui. Convertir un XML en JSON relit un arbre XML, avec les mêmes conventions pour les attributs.
Bien choisir quand vous convertissez un JSON en XML
Le XML est-il vraiment nécessaire ?
Si le système destinataire accepte le JSON, utilisez le JSON. Ne convertissez que lorsque le XML est exigé.
Autres destinations
Pour une configuration que des personnes modifient, Convertir un JSON en YAML se lit plus confortablement. Pour les tableaux, Convertir un JSON en CSV et Convertir un JSON en XLSX servent les tableurs.
Gardez le JSON
Le JSON est l'original de référence. Il contient les types. Gardez-le et considérez le XML comme une copie faite pour un destinataire particulier.
Obtenir un bon résultat après la conversion
Ouvrez-le dans un navigateur
Un navigateur affiche le XML sous forme d'arbre repliable. Ouvrez le fichier et dépliez les éléments. Si la structure ressemble à ce que vous attendez, elle est saine.
Comparez quelques enregistrements avec la source
Prenez quelques enregistrements au milieu et vérifiez-les par rapport au JSON. Cela prend une minute et vous dit que la conversion est fidèle.
Ajoutez ce dont le destinataire a besoin
Si le destinataire demande une ligne de déclaration, un espace de noms ou une référence à une feuille de style, ajoutez-les dans un éditeur de texte. Ils ne font pas partie des données et ne sont pas écrits pour vous.
Préparer votre JSON pour qu'il se convertisse bien
Utilisez des structures régulières
Quand vous convertissez un JSON en XML, les données régulières se convertissent le mieux : des listes d'enregistrements qui partagent les mêmes clés, chaque clé étant un nom valide. Des données irrégulières produisent un résultat correct mais peu net.
Décidez de ce qui est un attribut
Les identifiants, les codes et les indicateurs sont souvent des attributs en XML. Marquez-les dans le JSON avec un @, et le résultat ressemblera au XML qu'un humain écrirait.
Testez d'abord sur un petit morceau
Si votre fichier est gros, prenez les premiers enregistrements dans un fichier d'essai et convertissez-le. Un coup d'œil rapide au résultat montre si la forme est celle que vous attendez.
Ajuster le XML à son destinataire
Regardez d'abord la spécification
Avant de convertir un JSON en XML pour une place de marché, un portail fiscal ou un partenaire, lisez ce qu'ils demandent. La plupart publient une description des éléments attendus, de leur ordre et de ceux qui sont obligatoires. Aligner vos noms de clés dessus coûte quelques minutes dans le JSON et évite plus tard un envoi qui échoue.
L'ordre peut compter
Certains schémas XML exigent les éléments dans un ordre fixe. Le convertisseur conserve l'ordre de vos clés ; si le destinataire insiste sur une séquence, écrivez donc les clés du JSON dans cette séquence. Le résultat suit exactement ce que vous avez écrit.
Ajoutez la déclaration si elle est exigée
Une ligne en haut indiquant la version et l'encodage est d'usage, et certains destinataires y tiennent. Elle ne fait pas partie des données ; elle n'est donc pas écrite pour vous. Ajoutez-la à la main dans un éditeur de texte, avant le premier élément.
Attention aux caractères spéciaux
Les esperluettes, les chevrons et les guillemets à l'intérieur des valeurs sont écrits sous leurs formes échappées ; le XML reste donc valide quel que soit le texte. Vous n'avez pas besoin de les préparer dans le JSON.
Gardez un exemple qui a été accepté
Dès que le destinataire accepte un fichier, gardez une copie de ce fichier exact et du JSON qui l'a produit. Si un envoi ultérieur échoue, la comparaison avec celui qui avait fonctionné trouve la différence aussitôt.
Refaites la conversion plutôt que de modifier à la main
Quand les données changent, modifiez le JSON et reconvertissez le JSON en XML. Modifier le XML à la main laisse deux versions qui divergent.
Confidentialité et manipulation
Pourquoi la conversion locale compte pour les données
Les fichiers de données contiennent souvent du privé : clients, commandes, factures, réglages. De nombreux convertisseurs en ligne envoient votre fichier vers un serveur, le traitent et renvoient le résultat, et pendant un temps une copie vit sur une machine que vous ne contrôlez pas. Ici, c'est votre propre navigateur qui fait le travail ; les données restent donc sur votre appareil.
Ce qui se passe quand vous partez
Quand vous fermez la page, le fichier converti disparaît du navigateur ; téléchargez-le donc d'abord. Rien de vos données n'est conservé.
Si quelque chose se passe mal
La page dit que le fichier n'est pas du JSON valide
Il peut y avoir une virgule égarée, un guillemet manquant ou un crochet qui ne se ferme pas. Ouvrez le fichier dans un éditeur qui signale les erreurs JSON et corrigez la ligne qu'il indique.
Le destinataire rejette le XML
Le résultat est bien formé mais non validé. Comparez-le à la spécification du destinataire et ajustez les noms de clés et la structure du JSON.
La page se fige avec un gros fichier
Tout s'exécute sur votre appareil, et un gros fichier demande de la mémoire. Réessayez sur un ordinateur, ou scindez les données.
Outils associés
La même famille d'outils couvre les tâches voisines. Pour revenir en arrière, utilisez Convertir un XML en JSON. Pour les fichiers de configuration, Convertir un JSON en YAML et Convertir un YAML en JSON convertissent entre ces deux formats. Pour les tableaux, il y a Convertir un JSON en CSV, Convertir un CSV en JSON, Convertir un JSON en XLSX et Convertir un XLSX en JSON.
Un exemple détaillé
Supposons que le logiciel de votre boutique exporte 300 produits en JSON, et qu'une place de marché demande un flux XML avec un élément racine nommé catalogue. Vous enveloppez votre liste dans un objet à la seule clé catalogue, déposez le fichier ici et appuyez sur le bouton. Un instant plus tard, vous téléchargez un XML dont la racine est catalogue et qui contient 300 éléments product, chacun avec son id comme attribut parce que vous avez écrit la clé sous la forme @id. Vous envoyez le flux, et la place de marché l'accepte. Le JSON reste dans votre dossier comme source.
Une courte liste de contrôle
Avant de convertir
Vérifiez que le JSON est valide. Choisissez le nom de la racine. Marquez les attributs avec @. Gardez le JSON.
Pendant la conversion
Restez sur la page jusqu'à ce que le fichier soit prêt.
Après la conversion
Ouvrez le XML, vérifiez les noms d'éléments, les attributs et les listes, et testez-le avec le destinataire.
Erreurs courantes
Supposer que le résultat est validé
Le XML est bien formé, non vérifié par rapport à un schéma. Validez-le selon les règles du destinataire.
Utiliser des clés avec des espaces ou des symboles
Elles deviennent des éléments item avec un attribut name. Utilisez des noms valides si le destinataire les attend.
Supprimer le JSON
Gardez-le. Il contient les types que le XML ne connaît pas.
Vos données restent sur votre appareil
La conversion se fait en local. Votre fichier est lu par votre propre navigateur, réécrit là et rendu sous forme de XML. Rien n'est envoyé : aucune copie n'aboutit sur un serveur et personne d'autre ne peut le lire. Pour des données au contenu privé, c'est la manière sûre de convertir un JSON en XML.
Résumé
Pour convertir un JSON en XML ici, déposez le fichier et appuyez sur le bouton. Il est lu et écrit dans votre navigateur ; le fichier ne quitte donc jamais votre appareil. Tout l'arbre est conservé. Un objet à clé unique nomme le document d'après cette clé, de sorte qu'un fichier XML converti en JSON puis reconverti reste identique à lui-même ; un tableau répète son élément ; une clé commençant par @ devient un attribut. Toute clé JSON peut être un mot ; un nom d'élément XML ne le peut pas. Une clé qui n'est pas un nom valide n'est pas déformée pour en devenir un : elle devient un élément item avec un attribut name, de sorte que l'original reste dans le fichier et reste retrouvable. Rien n'est placé dans un espace de noms, et rien ne reçoit de schéma : le résultat est bien formé, non validé.