Convertisseur JSON en XML

Collez un objet JSON et obtenez le XML qui lui correspond. Les clés commençant par @ deviennent des attributs, #text devient le texte d'un élément, et un tableau devient le même élément répété. Rien de ce que vous collez ne quitte votre navigateur.

Gratuit Fonctionne dans votre navigateur Vérifié le mardi 10 novembre 2026

Un objet avec un seul membre : son nom est l'élément racine.

Indentation

La première ligne, <?xml version="1.0" encoding="UTF-8"?>.

Résultat

XML — Copiez-le, ou téléchargez-le sous le nom converted.xml.
Éléments — Le nombre d'éléments écrits, la racine comprise.
XML

Cet outil fonctionne dans votre navigateur. Ce que vous saisissez ne nous est pas envoyé.

Mode d'emploi

  1. Collez le JSON dans JSON. Son unique membre de premier niveau devient l'élément racine.
  2. Utilisez le préfixe @ pour les attributs, comme @id, et #text pour le texte d'un élément.
  3. Choisissez une Indentation, ou Sans sauts de ligne (minifié) pour le XML le plus court.
  4. Copiez le XML, ou téléchargez-le sous le nom converted.xml.

La correspondance, règle par règle

Le XML a des éléments et des attributs ; le JSON a des objets, des tableaux et des valeurs. La correspondance les relie dans un sens. Le premier niveau est un objet avec un seul membre : son nom est l'élément racine. Un objet devient un élément. Un membre dont le nom commence par @ devient un attribut, et un membre nommé #text devient le texte de l'élément. Tout autre membre devient un élément enfant de ce nom.

Un tableau donne un élément enfant par élément, tous portant le nom du tableau : une liste de livres s'écrit donc en éléments book répétés. Une chaîne, un nombre, ou true ou false devient du texte. null, et un objet vide, deviennent un élément vide. Un tableau vide n'a pas de forme XML et est omis.

  • Un nom doit être un nom XML : une clé comme first name, avec une espace, ne peut pas devenir un nom d'élément.
  • Un tableau à l'intérieur d'un tableau est refusé, car il n'y a aucun nom d'élément à donner à ses éléments.
  • Le texte d'un nombre est écrit comme le fait JavaScript : un nombre de plus de 15 ou 16 chiffres significatifs peut perdre des chiffres, comme le fait la lecture JSON.

Ce que la correspondance ne peut pas conserver

Le XML n'a pas de types : la différence entre le nombre 12 et le texte "12" est perdue au retour ; le convertisseur XML vers JSON lit un texte qui ressemble à un nombre comme un nombre, sauf si son typage est désactivé. Un objet vide et null se ressemblent en XML, et un tableau d'un seul élément revient comme cet élément. Ce sont les limites de la correspondance, non des erreurs de l'outil.

Les commentaires et les instructions de traitement ne sont pas écrits, car le JSON n'a nulle part où les garder. Un texte à l'intérieur d'un élément est échappé : &, < et > restent donc du texte dans le XML.

Exemple détaillé : le catalogue par défaut

Le JSON par défaut a un seul membre, catalog. Son @version devient l'attribut version de l'élément catalog, et son tableau book devient deux éléments book. Chaque livre prend son @id comme attribut id, et ses clés title, price et inStock deviennent des éléments enfants. Le prix null du second livre devient l'élément vide price.

Avec deux espaces et la déclaration, la sortie compte huit éléments : le catalog, deux book, et trois enfants du premier livre et deux du second. Le compteur affiche 8.

Questions fréquentes

Comment écrire un attribut en JSON ?

Donnez à la clé un préfixe @. Le membre "@id": "1" devient id="1" sur l'élément qui le contient. Les valeurs d'attributs doivent être des textes, des nombres, ou true ou false, pas des objets ni des tableaux.

Pourquoi mon tableau devient-il plusieurs éléments de même nom ?

Le XML n'a pas de tableau. Chaque élément du tableau devient un élément portant le nom du tableau, dans le même ordre, ce qui est la façon habituelle en XML de lister des éléments répétés comme des livres.

Pourquoi ai-je une erreur sur le premier niveau ?

Le XML exige exactement un élément racine. Le JSON doit être un objet avec un seul membre, comme {"catalog": {…}} ; une liste ou plusieurs membres au premier niveau ne peuvent pas former un seul document.

Pourquoi une clé avec une espace est-elle refusée ?

Les noms d'éléments en XML ne peuvent pas contenir d'espaces. Renommez la clé, par exemple en first-name ou firstName, avant la conversion.

Mon JSON est-il envoyé à un serveur ?

Non. La conversion se fait dans votre navigateur. Rien de ce que vous collez n'est envoyé à notre serveur ni stocké là-bas.

Sources

Chiffres et texte vérifiés pour la dernière fois le mardi 10 novembre 2026.

Nous utilisons des cookies nécessaires au fonctionnement du site. Avec votre accord, Google utilise aussi des cookies publicitaires pour afficher des annonces personnalisées. Si vous les refusez, vous voyez toujours des annonces, mais elles ne sont pas personnalisées.