ToolDeck

JSON vers XML

Convertir du JSON au format XML

Essayer un exemple

Entrée JSON

Sortie XML

Fonctionne localement · Sûr pour coller des secrets
Le XML apparaîtra ici…

Qu'est-ce que la conversion JSON vers XML ?

JSON (JavaScript Object Notation) et XML (eXtensible Markup Language) sont les deux formats d'échange de données dominants en développement logiciel. JSON utilise des paires clé-valeur et des tableaux dans une syntaxe compacte, tandis que XML enveloppe les données dans des balises ouvrantes et fermantes avec des attributs optionnels. Convertir du JSON en XML signifie traduire les primitives structurelles de JSON — objets, tableaux, chaînes, nombres, booléens et null — en un document XML bien formé avec une imbrication d'éléments correspondante.

XML reste le format obligatoire dans de nombreux systèmes d'entreprise, API gouvernementales, services web SOAP et standards industriels comme HL7 (santé), FpML (finance) et XBRL (reporting financier). Lorsque votre application produit du JSON mais que le système destinataire attend du XML, un convertisseur JSON vers XML prend en charge la traduction sans restructuration manuelle. La conversion suit des règles de correspondance prévisibles : les objets JSON deviennent des éléments XML, les éléments de tableau deviennent des éléments frères répétés, et les valeurs primitives deviennent des nœuds texte.

Il n'existe pas de RFC ou de standard W3C unique définissant comment JSON se mappe vers XML. Différentes bibliothèques produisent des sorties différentes pour la même entrée. La convention la plus répandue (utilisée par cet outil) enveloppe l'ensemble du document dans un élément racine configurable, convertit chaque clé JSON en élément XML enfant, et représente les éléments de tableau comme des éléments répétés portant le même nom de balise. Comprendre ces règles de correspondance est important lorsque le système destinataire impose un schéma XML (XSD) précis.

Pourquoi utiliser un convertisseur JSON vers XML en ligne ?

Rédiger du XML à la main à partir d'une source JSON est fastidieux et source d'erreurs. Des balises mal fermées, des éléments oubliés et une imbrication incorrecte produisent des documents qui échouent à la validation de schéma. Un convertisseur gère la traduction structurelle automatiquement.

Conversion instantanée dans votre navigateur
Collez du JSON, obtenez un XML bien formé en quelques millisecondes. Pas d'aller-retour serveur, pas de configuration CLI, pas d'installation de dépendance. La conversion s'exécute entièrement en JavaScript sur votre appareil.
🔒
Données sensibles protégées
Votre entrée JSON ne quitte jamais l'onglet du navigateur. Tout l'analyse syntaxique et la génération XML se font côté client, ce qui permet de convertir en toute sécurité des charges utiles contenant des clés d'API, des tokens ou des données de production.
📋
Sans compte ni connexion
Ouvrez la page, collez votre JSON et copiez la sortie XML. Pas de formulaire d'inscription, pas de vérification par e-mail, pas de limite d'utilisation entre vous et vos données converties.
🌳
Gestion automatique des structures imbriquées
Les objets profondément imbriqués, les tableaux mixtes et les valeurs null sont tous convertis correctement. L'outil préserve la hiérarchie complète de votre entrée JSON dans l'arbre XML résultant.

Cas d'utilisation de JSON vers XML

Intégration de services web SOAP
Votre API REST renvoie du JSON, mais le point de terminaison SOAP d'un partenaire exige des corps de requête XML. Convertissez la charge utile JSON en XML avant de l'envelopper dans une enveloppe SOAP.
Échange de données en entreprise
Les systèmes ERP et CRM hérités n'acceptent souvent que des imports XML. Convertissez les exports JSON d'outils modernes en flux XML correspondant au schéma attendu.
Configuration de pipeline CI/CD
Certains outils de build (Maven, Ant, MSBuild) utilisent des fichiers de configuration XML. Générez des fragments de configuration XML à partir de fichiers de paramètres JSON lors de builds automatisés.
Préparation de données de test QA
Générez des fixtures XML de test à partir de jeux de données JSON. Produisez rapidement des documents XML valides pour tester des parseurs XML, des transformations XSLT ou des requêtes XPath.
Passerelle de format dans les pipelines de données
Les pipelines ETL qui ingèrent du XML peuvent recevoir des données d'API produisant du JSON. Convertissez les résultats JSON intermédiaires en XML avant de les charger dans la phase de traitement basée sur XML.
Apprentissage de la structure XML
Les étudiants qui étudient XML peuvent coller des structures JSON familières et voir la représentation XML équivalente. Cela rend concrètes l'imbrication des balises, la hiérarchie des éléments et la structure du document.

Règles de correspondance JSON vers XML

Comme aucun standard universel ne régit la conversion JSON vers XML, différents outils produisent des sorties différentes. Le tableau ci-dessous présente les conventions de correspondance utilisées par ce convertisseur et la plupart des bibliothèques populaires (js2xmlparser, xmlbuilder, fast-xml-parser). La convention des éléments frères répétés pour les tableaux est devenue dominante car elle reflète la façon dont les schémas XML modélisent naturellement les collections — chaque élément est un élément de premier plan plutôt qu'un enfant enveloppé — et s'intègre proprement avec les requêtes XPath et les transformations XSLT.

JSON TypeJSON ExampleXML Output
Object{"name": "Alice"}<name>Alice</name>
Nested object{"user": {"age": 30}}<user><age>30</age></user>
Array{"colors": ["red", "blue"]}<colors>red</colors><colors>blue</colors>
String"hello"<root>hello</root>
Number42<root>42</root>
Booleantrue<root>true</root>
Nullnull<root/>
Empty object{}<root/>
Empty array[](no child elements)

Exemples de code

Voici des extraits exécutables pour convertir du JSON en XML dans trois environnements. Chaque exemple produit un XML bien formé à partir d'un objet JSON exemple.

JavaScript (Node.js)
import { create } from 'xmlbuilder2';

const json = {
  order: {
    id: 1024,
    items: [
      { sku: "A1", qty: 2 },
      { sku: "B3", qty: 1 }
    ],
    shipped: false
  }
};

const xml = create({ version: '1.0' })
  .ele(json)
  .end({ prettyPrint: true });

console.log(xml);
// → <?xml version="1.0"?>
// → <order>
// →   <id>1024</id>
// →   <items>
// →     <sku>A1</sku>
// →     <qty>2</qty>
// →   </items>
// →   <items>
// →     <sku>B3</sku>
// →     <qty>1</qty>
// →   </items>
// →   <shipped>false</shipped>
// → </order>
Python
import json
import xmltodict

data = {
    "order": {
        "id": 1024,
        "items": [
            {"sku": "A1", "qty": 2},
            {"sku": "B3", "qty": 1}
        ],
        "shipped": False
    }
}

# xmltodict.unparse expects a single root key
xml = xmltodict.unparse(data, pretty=True)
print(xml)
# → <?xml version="1.0" encoding="utf-8"?>
# → <order>
# →   <id>1024</id>
# →   <items>
# →     <sku>A1</sku>
# →     <qty>2</qty>
# →   </items>
# →   <items>
# →     <sku>B3</sku>
# →     <qty>1</qty>
# →   </items>
# →   <shipped>false</shipped>
# → </order>
Go
package main

import (
	"encoding/json"
	"encoding/xml"
	"fmt"
)

type Item struct {
	SKU string `json:"sku" xml:"sku"`
	Qty int    `json:"qty" xml:"qty"`
}

type Order struct {
	XMLName xml.Name `xml:"order"`
	ID      int      `json:"id" xml:"id"`
	Items   []Item   `json:"items" xml:"items"`
	Shipped bool     `json:"shipped" xml:"shipped"`
}

func main() {
	raw := `{"id":1024,"items":[{"sku":"A1","qty":2},{"sku":"B3","qty":1}],"shipped":false}`

	var order Order
	json.Unmarshal([]byte(raw), &order)

	out, _ := xml.MarshalIndent(order, "", "  ")
	fmt.Println(xml.Header + string(out))
	// → <?xml version="1.0" encoding="UTF-8"?>
	// → <order>
	// →   <id>1024</id>
	// →   <items>
	// →     <sku>A1</sku>
	// →     <qty>2</qty>
	// →   </items>
	// →   ...
}

Questions fréquentes

La conversion JSON vers XML est-elle sans perte ?
Structurellement, oui — chaque valeur JSON se mappe vers un élément XML ou un nœud texte. Cependant, XML ne distingue pas nativement les nombres, les booléens et les chaînes comme JSON le fait. La valeur 42 en JSON devient le contenu texte "42" en XML. Si le système destinataire s'appuie sur des déclarations de type XML Schema (XSD), il peut récupérer les types d'origine lors de l'analyse. Sans schéma, les informations de type sont effectivement perdues dans le document converti.
Comment les tableaux JSON sont-ils convertis en XML ?
Chaque élément de tableau devient un élément XML frère portant le même nom de balise. Par exemple, le tableau JSON "colors": ["red", "blue"] produit deux éléments : &lt;colors&gt;red&lt;/colors&gt; et &lt;colors&gt;blue&lt;/colors&gt;. Certains convertisseurs enveloppent les tableaux dans un élément parent (par exemple, &lt;colorsList&gt;), mais l'approche par éléments frères répétés est plus courante et correspond à la convention utilisée par JAXB, Jackson et fast-xml-parser.
Que se passe-t-il avec les valeurs null lors de la conversion ?
Un null JSON se convertit généralement en un élément XML vide — par exemple, "middle_name": null devient &lt;middle_name/&gt;. Certaines bibliothèques ajoutent un attribut xsi:nil="true" pour signaler un null explicite, ce qui est utile quand le système cible valide selon un schéma XSD. Ce convertisseur produit par défaut un élément vide auto-fermant.
Puis-je convertir du XML en JSON ?
Oui, mais l'aller-retour n'est pas toujours symétrique. Les fonctionnalités XML comme les attributs, les instructions de traitement, les commentaires, le contenu mixte et les espaces de noms n'ont pas d'équivalent JSON direct. Convertir du XML en JSON puis de nouveau en XML peut produire un document structurellement différent. Si vous avez besoin d'une conversion XML vers JSON, utilisez un convertisseur dédié qui préserve les attributs et les espaces de noms.
Comment gérer des clés JSON qui ne sont pas des noms d'éléments XML valides ?
Les noms d'éléments XML ne peuvent pas commencer par un chiffre, contenir des espaces, ni inclure la plupart des caractères spéciaux. Si votre JSON contient une clé comme "2024-data" ou "first name", le convertisseur doit la nettoyer — généralement en ajoutant un underscore en préfixe ou en remplaçant les caractères invalides par des underscores. Vérifiez la sortie de votre convertisseur et ajustez les noms de clés dans le JSON source si le XML résultant doit passer la validation XSD.
Quelle est la taille maximale de JSON que cet outil peut gérer ?
Le convertisseur s'exécute dans le moteur JavaScript de votre navigateur, donc la limite pratique dépend de la mémoire disponible. La plupart des navigateurs modernes gèrent des documents JSON allant jusqu'à 50-100 Mo sans problème. Pour des fichiers plus volumineux, utilisez un convertisseur en flux comme xmltodict de Python ou un outil en ligne de commande qui traite les données de manière incrémentielle plutôt que de tout charger en mémoire.
La sortie XML est-elle bien formée ou valide ?
La sortie est toujours du XML bien formé — les balises sont correctement imbriquées, les caractères spéciaux sont échappés, et le document possède un seul élément racine. La validité de la sortie dépend du schéma cible (XSD ou DTD). La bonne formation est une garantie structurelle ; la validité exige que les noms d'éléments, l'ordre d'imbrication et les types de contenu correspondent à une définition de schéma précise.