Skip to content

Convertisseur JSON vers XML

Collez du JSON, obtenez du XML instantanément. Convertit les objets, tableaux et attributs @_ dans le navigateur — rien n'est envoyé. Gratuit, privé, sans inscription.

Sans pistage Fonctionne dans le navigateur Gratuit
Options · 2 espaces · JSON → XML
Indentation
0 car.
XML Sortie
0 lignes
Vérifié pour la bonne formation XML 1.0, la correction de la convention @_/#text et la précision de la normalisation de la racine — Go Tools Engineering Team · 29 mai 2026

Qu'est-ce que la Conversion JSON vers XML et Comment Fonctionne-t-elle ?

JSON (JavaScript Object Notation) et XML (Extensible Markup Language) sont tous deux des formats de données structurées, mais ils ont des modèles fondamentalement différents : JSON est un arbre d'objets, de tableaux, de chaînes, de nombres, de booléens et de valeurs null sans concept d'attributs ni de contrainte de racine de document ; XML est un arbre d'éléments pouvant porter des attributs et du contenu textuel, et le document doit avoir exactement un élément racine. La conversion de JSON vers XML nécessite un ensemble de conventions pour combler cette inadéquation.

Cet outil utilise la convention la plus largement adoptée — la même que celle utilisée par fast-xml-parser (Node.js), xmltodict (Python) et JAXB (Java) — appliquée en sens inverse :

**1. Normalisation de l'élément racine.** La différence la plus importante entre JSON et XML est la contrainte de racine. JSON n'a pas de concept de racine ; XML en requiert exactement une. Le convertisseur gère quatre cas automatiquement. Un objet à clé unique utilise cette clé comme racine XML : { "config": {...} } → .... Un objet à plusieurs clés est enveloppé dans : { "a": 1, "b": 2 } → 12. Un tableau de niveau supérieur est enveloppé comme .... Une valeur primitive est enveloppée comme valeur.

**2. Préfixe @_ → attributs XML.** Les clés JSON préfixées par @_ deviennent des attributs XML sur l'élément englobant. { "element": { "@_id": "42", "@_class": "primary" } } produit . Ce préfixe est la convention canonique — aucun nom d'élément XML valide ne commence par @, il n'y a donc jamais de collision avec les noms des éléments enfants.

**3. #text → contenu textuel d'un élément.** Quand un élément a besoin à la fois d'attributs et de contenu textuel, le texte est stocké sous la clé #text : { "price": { "@_currency": "USD", "#text": "29.99" } } → 29.99. Les éléments avec seulement du contenu textuel (sans clés @_) se convertissent en éléments texte simples sans cette indirection.

**4. Tableaux → éléments frères répétés du même nom.** XML permet plusieurs éléments enfants du même nom ; JSON utilise des tableaux pour les listes ordonnées. Un tableau JSON sous une clé produit des éléments enfants répétés qui réutilisent le nom de la clé : { "items": ["a", "b"] } produit ab (les deux éléments sont frères sous le parent). Quand l'entrée JSON entière est un tableau de niveau supérieur, un wrapper est ajouté et chaque élément devient un enfant est un nom de repli fixe utilisé uniquement dans ce cas.

**5. Symétrique avec XML vers JSON.** Les conventions @_ et #text utilisées ici sont exactement les mêmes conventions utilisées par le Convertisseur XML vers JSON compagnon. Cela signifie qu'un aller-retour JSON → XML → JSON préserve les attributs, le contenu textuel et la structure des éléments — à condition que le JSON d'entrée suive les conventions @_/#text.

**Quand convertir du JSON en XML ?** Les scénarios les plus courants sont : (1) envoyer des données à un service web SOAP ou XML hérité qui requiert un corps de requête XML ; (2) générer des fichiers de configuration XML (Spring, Maven, Ant, ressources Android) à partir de données JSON ; (3) produire du XML sitemap.xml ou RSS depuis des données de contenu JSON ; (4) interopérer avec des systèmes d'entreprise (ERP, CRM, EDI) qui consomment du XML ; (5) générer du SVG ou d'autres formats graphiques basés sur XML programmatiquement à partir de données JSON. Pour formater et valider le XML résultant, utilisez le Formateur XML.

// Convert JSON to XML in Node.js using fast-xml-parser
import { XMLBuilder } from 'fast-xml-parser';

const data = {
  catalog: {
    product: {
      '@_id': 'P01',
      '@_category': 'electronics',
      name: 'Wireless Headphones',
      price: {
        '@_currency': 'USD',
        '#text': '79.99'
      }
    }
  }
};

const builder = new XMLBuilder({
  attributeNamePrefix: '@_',   // @_ keys become XML attributes
  textNodeName: '#text',       // #text key becomes element text content
  ignoreAttributes: false,     // process @_ attribute keys
  format: true,                // pretty-print with indentation
  indentBy: '  ',              // 2-space indent
});

const xml = builder.build(data);
console.log(xml);
// <catalog>
//   <product id="P01" category="electronics">
//     <name>Wireless Headphones</name>
//     <price currency="USD">79.99</price>
//   </product>
// </catalog>

Fonctionnalités clés

Conversion en direct

La sortie XML se met à jour instantanément au fil de la saisie ou du collage de JSON — sans bouton Convertir. Les grandes entrées (>200 Ko) passent automatiquement en mode manuel pour maintenir la réactivité du navigateur.

Normalisation automatique de la racine

XML requiert exactement un élément racine. Les objets à clé unique utilisent leur clé comme racine ; les objets à plusieurs clés sont enveloppés dans ; les tableaux de niveau supérieur deviennent ... ; les primitives deviennent valeur — toujours une sortie XML valide.

Convention @_ pour les attributs et #text

Les clés préfixées par @_ deviennent des attributs XML ; la clé #text devient le contenu textuel d'un élément. Cela correspond à la convention fast-xml-parser et xmltodict, rendant la sortie symétrique avec le Convertisseur XML vers JSON compagnon.

Tableaux vers éléments répétés

Les tableaux JSON sous une clé produisent des éléments enfants répétés qui réutilisent le nom de la clé — sans singularisation. { "items": [1, 2, 3] } donne trois frères . Une entrée tableau de niveau supérieur est enveloppée comme ... en utilisant comme nom littéral fixe.

Confidentialité 100 % basée sur le navigateur

Toute la conversion s'exécute localement dans votre navigateur en JavaScript. Votre JSON — dont les identifiants, les configurations internes et les charges utiles sensibles — n'est jamais envoyé à un serveur, jamais journalisé ni stocké.

Aller-retour symétrique avec XML vers JSON

Les conventions @_ et #text sont partagées avec le Convertisseur XML vers JSON compagnon. Un aller-retour JSON → XML → JSON préserve fidèlement les attributs, le contenu textuel et la structure imbriquée.

Exemples

Objet de Réponse API

{"user":{"id":42,"name":"Alice Kim","email":"alice@example.com","role":"admin","address":{"city":"Seoul","country":"KR"}}}

Un objet JSON à clé unique où la clé de niveau supérieur devient l'élément racine XML. L'objet address imbriqué produit un élément enfant

avec les enfants et . Comme l'objet extérieur a exactement une clé ("user"), aucun wrapper n'est ajouté — "user" lui-même est la racine. Les nombres comme 42 deviennent du contenu textuel tel quel : 42.

Tableau de Niveau Supérieur

[{"id":1,"name":"Widget A","price":9.99},{"id":2,"name":"Widget B","price":14.99},{"id":3,"name":"Widget C","price":4.49}]

Quand l'entrée entière est un tableau JSON (non encapsulé dans un objet), le convertisseur produit .... Chaque élément du tableau devient un enfant — "item" est un nom littéral fixe utilisé exclusivement pour les tableaux de niveau supérieur. C'est le seul cas où apparaît ; les tableaux sous une clé d'objet réutilisent le nom de cette clé pour chaque élément.

Objet avec Attributs et Contenu Textuel

{"catalog":{"product":{"@_id":"P01","@_category":"electronics","name":"Wireless Headphones","price":{"@_currency":"USD","#text":"79.99"}}}}

Les clés préfixées par @_ deviennent des attributs XML sur l'élément : @_id devient id="P01" et @_category devient category="electronics" sur l'élément . La clé #text devient le contenu textuel de l'élément — ainsi l'objet price produit 79.99. Cela fait un aller-retour parfait avec le convertisseur XML vers JSON, qui utilise les mêmes conventions @_ et #text.

Comment utiliser

  1. 1

    Collez votre JSON

    Saisissez ou collez vos données JSON dans le champ de saisie ci-dessus. Vous pouvez aussi cliquer sur « Charger un exemple » pour essayer un échantillon — un objet de réponse API, une charge utile tableau ou un objet utilisant des attributs @_ et #text.

  2. 2

    Consultez la sortie XML en direct

    Le XML apparaît instantanément dans le panneau de sortie. Les objets à clé unique utilisent leur clé comme racine ; les objets à plusieurs clés sont enveloppés dans ; les clés préfixées par @_ deviennent des attributs ; les tableaux deviennent des éléments enfants répétés. Ajustez l'indentation (2 ou 4 espaces) selon vos besoins.

  3. 3

    Copiez ou téléchargez

    Cliquez sur Copier pour récupérer le XML dans votre presse-papiers, ou sur Télécharger pour le sauvegarder en fichier .xml. Pour valider ou reformater le résultat, collez-le dans le Formateur XML.

Pièges courants de conversion

L'objet à plusieurs clés obtient un wrapper inattendu

Si votre JSON de niveau supérieur a plusieurs clés, la sortie les enveloppe toutes dans . C'est du XML correct (qui requiert une seule racine), mais peut ne pas correspondre à votre schéma cible. Restructurez votre JSON en objet à clé unique pour contrôler le nom de l'élément racine.

✗ Incorrect
// Input: { "status": 200, "data": { "id": 1 } }
// Output: <root><status>200</status><data><id>1</id></data></root>
// Root is <root> — may not match your schema
✓ Correct
// Wrap in a named key to control the root element
// Input: { "response": { "status": 200, "data": { "id": 1 } } }
// Output: <response><status>200</status><data><id>1</id></data></response>

Le tableau de niveau supérieur obtient un wrapper

Un tableau JSON de niveau supérieur n'a pas de nom d'élément, il est donc enveloppé comme .... Si vous voulez des noms de balises significatifs, enveloppez d'abord le tableau dans un objet nommé.

✗ Incorrect
// Input: [{ "id": 1 }, { "id": 2 }]
// Output: <root><item><id>1</id></item><item><id>2</id></item></root>
// Tag names are generic
✓ Correct
// Wrap in a named key for meaningful tag names
// Input: { "products": [{ "id": 1 }, { "id": 2 }] }
// Output: <root><products><id>1</id></products><products><id>2</id></products></root>
// Each array element reuses the key name "products" as its tag

Clés d'attributs sans le préfixe @_

Pour produire un attribut XML, la clé JSON doit être préfixée par @_. Sans le préfixe, la clé est traitée comme un élément enfant, pas comme un attribut.

✗ Incorrect
// Input: { "tag": { "id": "42", "name": "Alice" } }
// Output: <tag><id>42</id><name>Alice</name></tag>  ← id is a child element
✓ Correct
// Use @_ prefix for attributes
// Input: { "tag": { "@_id": "42", "name": "Alice" } }
// Output: <tag id="42"><name>Alice</name></tag>  ← id is an attribute

Élément avec à la fois attributs et texte — #text manquant

Si vous voulez qu'un élément ait à la fois des attributs XML et du contenu textuel, vous devez utiliser la clé #text pour le texte. Sans elle, le texte n'a nulle part où aller et l'élément sera vide ou produira une erreur.

✗ Incorrect
// Input: { "price": { "@_currency": "USD", "value": "29.99" } }
// Output: <price currency="USD"><value>29.99</value></price>
// Text is a child element, not text content
✓ Correct
// Use #text for element text content
// Input: { "price": { "@_currency": "USD", "#text": "29.99" } }
// Output: <price currency="USD">29.99</price>  ← text content

Clés JSON avec des caractères invalides pour XML

Les noms d'éléments XML ne peuvent pas commencer par un chiffre ni contenir des espaces, des deux-points (sauf pour les préfixes d'espaces de noms) ou la plupart des caractères spéciaux. Si vos clés JSON contiennent ces caractères, le XML de sortie sera malformé. Renommez les clés problématiques avant de convertir, ou nettoyez-les dans une étape de post-traitement.

✗ Incorrect
// JSON key starts with digit — invalid XML element name
// Input: { "1stItem": "value" }
// Output: <1stItem>value</1stItem>  ← invalid XML
✓ Correct
// Use a valid XML element name
// Input: { "firstItem": "value" }
// Output: <firstItem>value</firstItem>  ← valid XML

Caractères spéciaux dans les valeurs non échappés

Le contenu textuel XML ne doit pas contenir de caractères bruts <, >, &, ni " — ils doivent être échappés en <, >, & et ". Le convertisseur échappe automatiquement ces caractères dans le contenu textuel des éléments et les valeurs d'attributs. Si le traitement en aval effectue un double échappement, vérifiez que votre analyseur XML consomme des octets XML bruts plutôt que de réescaper du contenu déjà échappé.

✗ Incorrect
// JSON: { "query": "name = 'Alice' & role = 'admin'" }
// Converter outputs: <query>name = 'Alice' &amp; role = 'admin'</query>
// If double-processed: &amp;amp; — consumer is re-escaping
✓ Correct
// Converter output is correct — consume it as XML, not as a raw string
// <query>name = 'Alice' &amp; role = 'admin'</query>
// XML parser decodes to: name = 'Alice' & role = 'admin'

Cas d'utilisation courants

Appel de services web SOAP et XML hérités
Construisez la charge utile JSON dans votre application, convertissez-la en XML et envoyez-la en POST au point de terminaison SOAP. Cela évite la construction manuelle de chaînes XML et vous permet de travailler avec les données dans une structure JSON native jusqu'au moment où vous devez la sérialiser pour le service hérité.
Génération de fichiers de configuration XML
Spring, Maven, Ant, Tomcat et Android utilisent tous des formats de configuration XML. Générez ou transformez les données de configuration en JSON — plus facile à comparer et versionner — puis convertissez en XML pour le déploiement.
Production de Sitemap et flux RSS en XML
Les systèmes de gestion de contenu et les générateurs de sites statiques stockent souvent les métadonnées de pages en JSON. Convertissez ces métadonnées en XML sitemap.xml ou flux RSS pour les soumettre aux moteurs de recherche ou syndiquer le contenu vers des lecteurs de flux.
Intégration de données d'entreprise (EDI / ERP / CRM)
Les systèmes ERP (SAP, Oracle), les plateformes CRM et les réseaux EDI échangent couramment des données en XML. Convertissez les exports JSON des APIs REST modernes en XML pour alimenter ces systèmes sans construire un sérialiseur XML personnalisé.
Fichiers de ressources Android
Les ressources de chaînes Android, les contraintes de mise en page et les entrées de manifeste sont tous du XML. Générez ou mettez à jour les fichiers de ressources programmatiquement depuis des sources de données JSON et convertissez au format XML requis par le système de build Android.
Génération de SVG et de graphiques vectoriels
SVG est du XML. Construisez la structure SVG comme données JSON — chemins, formes, couleurs, transformations — puis convertissez en XML pour produire des fichiers SVG valides pour le web, l'impression ou les outils d'édition vectorielle.

Détails techniques

Analyse JSON conforme à RFC 8259
L'entrée JSON est analysée avec le JSON.parse() natif du navigateur, entièrement conforme à RFC 8259. Cela fournit des messages d'erreur de syntaxe précis avec des informations de position au mieux (numéros de ligne et de colonne) et gère tous les types de données JSON : chaînes, nombres, booléens, null, tableaux et objets.
Sérialiseur JSON vers XML récursif personnalisé
Après l'analyse, un sérialiseur récursif personnalisé parcourt l'arborescence JSON. Les clés d'objets commençant par @_ sont émises comme attributs XML sur l'élément parent. La clé #text est émise comme contenu textuel de l'élément. Les clés d'objets ordinaires deviennent des éléments enfants. Les valeurs de tableaux produisent des éléments frères répétés du même nom. Les caractères spéciaux (<, >, &, ", ') dans le contenu textuel et les valeurs d'attributs sont échappés en leurs références d'entité XML.
Normalisation de la racine
XML requérant exactement un élément racine, le sérialiseur applique la normalisation de la racine avant de construire le document : les objets à clé unique utilisent la clé comme racine ; les objets à plusieurs clés et les tableaux de niveau supérieur reçoivent un wrapper synthétique . Cela garantit que la sortie est toujours du XML bien formé quelle que soit la forme de l'entrée.
100 % basé sur le navigateur — Aucun envoi, aucun serveur
Tout le traitement s'exécute dans le moteur JavaScript de votre navigateur. Aucune donnée n'est transmise sur le réseau à aucun moment. Les entrées de plus de 200 Ko passent automatiquement du mode en direct au mode manuel (nécessitant un clic explicite sur Convertir) pour maintenir la réactivité du navigateur lors d'une sérialisation intensive.

Bonnes pratiques

Contrôlez l'élément racine avec un objet à clé unique
La façon la plus propre de produire du XML significatif est de s'assurer que votre JSON de niveau supérieur est un objet à clé unique dont la clé est le nom de l'élément racine souhaité. Envelopper les données à plusieurs clés sous une clé nommée vous donne une racine sémantiquement significative au lieu du wrapper générique .
Utilisez @_ et #text pour du XML à attributs nombreux
Si votre schéma XML cible utilise de nombreux attributs (courant dans les fichiers de configuration, SVG et les enveloppes SOAP), restructurez votre JSON pour utiliser des clés préfixées par @_ et #text avant de convertir. Le XML résultant correspondra exactement au schéma cible sans post-traitement.
Enveloppez les tableaux dans des objets nommés pour des noms de balises significatifs
Un tableau de niveau supérieur produit le motif générique ..., où est un nom littéral fixe. Envelopper le tableau sous une clé nommée — { "products": [...] } — produit des éléments répétés (le nom de la clé est réutilisé pour chaque élément du tableau) sous un wrapper . Cela donne un nom de balise significatif pour le domaine et est presque toujours préférable pour du XML qui sera analysé ou validé par un schéma.
Validez la sortie avec le Formateur XML
Après la conversion, collez la sortie XML dans le Formateur XML pour valider la bonne formation, vérifier l'indentation et identifier tout problème structurel avant d'envoyer le XML à un service en aval ou de le committer dans le contrôle de version.
Nettoyez les clés JSON avant de convertir
Les noms d'éléments XML doivent commencer par une lettre ou un trait de soulignement et ne peuvent pas contenir d'espaces ni la plupart des caractères spéciaux. Si vos clés JSON proviennent d'une source externe (un nom de colonne de base de données, un nom de champ d'API ou une saisie utilisateur), vérifiez leur validité pour les noms XML avant de convertir pour éviter une sortie malformée.

Questions fréquentes

Mes données JSON sont-elles envoyées à un serveur lorsque j'utilise cet outil ?
Non. Toute la conversion se passe entièrement dans votre navigateur en JavaScript. Votre JSON n'est jamais transmis sur le réseau, jamais stocké sur un serveur, et jamais journalisé ni analysé. L'outil est ainsi sûr à utiliser avec des charges utiles JSON contenant des identifiants d'API, une configuration de base de données, des données de services internes ou tout autre contenu sensible. Vous pouvez le vérifier en ouvrant l'onglet Réseau de votre navigateur — vous verrez zéro requête déclenchée par le collage ou la conversion du JSON.
Comment l'outil détermine-t-il l'élément racine XML ?
XML requiert exactement un élément racine ; JSON n'a pas cette contrainte. Le convertisseur applique ces règles : (1) Un objet à clé unique utilise cette clé comme nom d'élément racine — { "user": { ... } } devient .... (2) Un objet à plusieurs clés (deux clés ou plus au niveau supérieur) est enveloppé dans un élément pour que toutes les clés deviennent enfants d'une seule racine. (3) Un tableau de niveau supérieur est enveloppé comme ..., chaque élément du tableau devenant un enfant . (4) Une valeur primitive (chaîne, nombre, booléen, null) au niveau supérieur devient valeur. Ces règles garantissent que la sortie est toujours du XML bien formé avec exactement une racine.
Pourquoi un objet JSON à plusieurs clés est-il enveloppé dans ?
XML est un format de document avec une exigence stricte de racine unique — un document XML valide doit avoir exactement un élément de niveau supérieur. Les objets JSON peuvent avoir n'importe quel nombre de clés de niveau supérieur, donc quand votre JSON a plusieurs clés (comme { "status": 200, "data": {...}, "meta": {...} }), il n'y a pas de clé unique à utiliser comme racine. L'enveloppement dans est la convention la plus sûre et la plus prévisible. Si vous voulez un nom d'élément racine différent, restructurez votre JSON en objet à clé unique avant de convertir — par exemple { "response": { "status": 200, "data": {...} } }.
Comment un tableau JSON de niveau supérieur se convertit-il en XML ?
Un tableau de niveau supérieur est enveloppé comme ....... Chaque élément du tableau devient un enfant — "item" est un nom littéral fixe utilisé uniquement pour les tableaux de niveau supérieur. C'est différent des tableaux imbriqués sous une clé d'objet : si vous écrivez { "products": [...] }, chaque élément du tableau devient un enfant (réutilisant le nom de la clé), pas . Si vous voulez des noms de balises personnalisés pour un tableau de niveau supérieur, enveloppez-le d'abord dans un objet nommé : { "products": [...] } vous donnera des éléments répétés.
Comment convertir des clés JSON en attributs XML ?
Préfixez la clé avec @_ et le convertisseur l'émettra comme attribut XML plutôt qu'élément enfant. Par exemple, { "tag": { "@_id": "42", "@_lang": "en", "#text": "Hello" } } produit Hello. La convention du préfixe @_ est la même que celle utilisée par fast-xml-parser (Node.js) et xmltodict (Python), rendant la sortie compatible en aller-retour avec ces bibliothèques. C'est aussi la convention utilisée par le Convertisseur XML vers JSON compagnon.
À quoi sert la clé #text ?
Quand un élément a besoin à la fois d'attributs XML et de contenu textuel, vous ne pouvez pas simplement mapper le texte vers un élément enfant — il doit être le nœud texte propre de l'élément. La clé #text dans votre JSON devient ce contenu textuel. Exemple : { "price": { "@_currency": "USD", "#text": "29.99" } } produit 29.99. Si un objet n'a qu'une clé #text et pas de clés @_, il produit quand même un élément texte simple : { "note": { "#text": "hello" } } devient hello.
L'indentation affecte-t-elle la structure XML ?
Non. L'indentation est purement cosmétique — elle change la façon dont le XML est formaté pour la lisibilité humaine mais n'affecte pas la structure des éléments, les valeurs d'attributs ni le contenu textuel. Choisissez 2 espaces pour une sortie compacte ou 4 espaces pour une sortie plus lisible. Les deux produisent du XML sémantiquement identique. La plupart des analyseurs XML traitent les nœuds texte composés uniquement d'espaces entre les éléments comme des espaces ignorables, donc le XML indenté et minifié sont équivalents pour l'analyse.
Comment un tableau JSON imbriqué dans un objet se convertit-il en XML ?
Une valeur tableau JSON sous une clé produit des éléments enfants répétés du même nom, réutilisant le nom de la clé pour chaque élément. Par exemple, { "items": [1, 2, 3] } produit trois frères — pas . De même, { "products": [{"name":"A"},{"name":"B"}] } produit deux éléments , chacun contenant un enfant . Le nom de la clé est utilisé tel quel pour chaque élément du tableau ; aucune singularisation n'a lieu. Le seul endroit où le nom littéral apparaît est quand l'entrée JSON entière est un tableau de niveau supérieur (voir ci-dessus), où est un nom de wrapper de repli fixe.
Comment reconvertir du XML en JSON ?
Utilisez le Convertisseur XML vers JSON compagnon. Il applique les mêmes conventions @_ et #text en sens inverse : les attributs XML deviennent des clés JSON préfixées par @_, le contenu textuel d'un élément associé à des attributs devient une clé #text, et les éléments frères répétés du même nom deviennent un tableau JSON. Les deux outils sont symétriques pour les cas d'usage aller-retour.
Puis-je valider ou formater la sortie XML ?
Oui — collez la sortie XML dans le Formateur XML pour valider la bonne formation, ajuster l'indentation ou minifier. Le Formateur XML est l'outil approprié pour inspecter et peaufiner le XML une fois que ce convertisseur l'a produit.
Y a-t-il une limite de taille pour l'entrée JSON ?
Il n'y a pas de limite stricte, mais les entrées de plus de 200 Ko passent automatiquement du mode de conversion en direct au mode manuel. En mode manuel, un bouton Convertir apparaît et la conversion ne s'exécute que lorsque vous cliquez dessus — cela maintient la réactivité du navigateur lors d'une sérialisation intensive. Pour les très grands fichiers JSON (plusieurs mégaoctets), envisagez des outils en ligne de commande pour de meilleures performances : node -e "const {XMLBuilder}=require('fast-xml-parser');console.log(new XMLBuilder({attributeNamePrefix:'@_'}).build(JSON.parse(require('fs').readFileSync('in.json','utf8'))))" ou un script Python équivalent avec xmltodict.
Quels types JSON sont pris en charge ?
Les six types JSON sont pris en charge. Les objets deviennent des éléments XML avec des éléments enfants. Les tableaux deviennent des éléments frères répétés du même nom. Les chaînes, nombres, booléens et null deviennent le contenu textuel des éléments. Les booléens et null sont sérialisés comme leurs représentations littérales de chaîne : true, false et contenu vide pour null. Aucune coercition de type n'est appliquée — les nombres sont écrits dans le contenu textuel XML exactement tels qu'ils apparaissent dans le JSON, préservant les décimales et la précision.