JSON vers XML
Convertisseur en ligne gratuit de JSON vers XML. Convertit les objets JSON en <root> et les tableaux en nœuds <item> répétés. Sortie avec prettyPrint, 100% dans le navigateur sans envois.
Recommandations connexes
À propos de JSON vers XML : convertir les données JSON en format XML standard
JSON vers XML est le processus de conversion de données au format JSON (objets ou tableaux JSON) en format XML (eXtensible Markup Language). JSON est le format de données standard pour les API web modernes ; XML est le format de données traditionnel pour les systèmes d'entreprise, les SOAP Web Services, les fichiers de configuration et les documents Office. Chaque format a ses forces : JSON est concis et facile à analyser ; XML est strict, auto-descriptif et largement compatible avec les espaces de noms et la validation de schémas.
Le cœur de l'outil est la conversion récursive des nœuds JSON en éléments XML basée sur la bibliothèque xmlbuilder2. Les règles de conversion sont simples : les clés des objets JSON deviennent les noms d'éléments XML, les valeurs deviennent le contenu textuel de l'élément ; les tableaux sont enveloppés en tant qu'éléments enfants <item> répétés. Les objets JSON sont enveloppés dans un nœud <root> par défaut, et les tableaux dans <root><item>...</item></root>.
Le mappage des tableaux aux éléments répétés est une décision de conception clé dans JSON vers XML. XML n'a pas de concept natif de tableau et représente les données de liste via des éléments répétés. L'outil utilise uniformément <item> comme nom d'élément enfant du tableau, avec l'enveloppe <root> externe formant une structure standard qui correspond aux conventions d'échange de données XML.
Le mode prettyPrint génère du XML qui est beaucoup plus lisible que le mode minify. Les développeurs peuvent l'ouvrir directement dans des éditeurs de texte, des éditeurs XML ou des navigateurs, sans avoir besoin de l'exécuter au préalable via xmllint ou d'autres outils de formatage. Cette conception est particulièrement utile lors du débogage et de l'ajustement manuel de XML.
Les règles de mappage des types JSON de base vers XML sont simples : les chaînes sont utilisées directement comme texte d'élément ; les nombres sont convertis en forme de chaîne ; les booléens sont convertis en chaînes 'true'/'false' ; null devient un élément vide ou est omis.
Les objets imbriqués génèrent récursivement l'arbre XML correspondant. Par exemple, { "user": { "name": "Alice", "age": 30 } } devient <root><user><name>Alice</name><age>30</age></user></root>. Cette structure préserve la hiérarchie du JSON d'origine, ce qui permet aux parseurs XML d'interroger facilement via XPath.
L'outil utilise un mappage d'éléments purs : toutes les données JSON sont converties en éléments XML, sans attributs XML. Cela est dû au fait que le mappage d'éléments est plus intuitif, plus lisible et prend en charge des structures imbriquées plus complexes.
La conversion en temps réel est une fonction pratique de l'outil. L'outil convertit 400ms après l'arrêt de la saisie, avec 5 raccourcis clavier, pour que les utilisateurs puissent effectuer rapidement des opérations courantes sans clics de souris.
L'auto-réparation des erreurs JSON améliore la résilience de l'outil. Le JSON du monde réel a souvent de petits problèmes comme des virgules de fin, des guillemets simples, des guillemets manquants ou des commentaires. La fonction intégrée tryFixJSON est automatiquement invoquée lorsque JSON.parse échoue et tente de corriger les erreurs courantes.
Le traitement purement côté client est la décision architecturale centrale. Toute l'analyse JSON et la génération XML s'exécutent en JavaScript du navigateur ; rien n'est jamais envoyé à un serveur.
Cas d'utilisation
- Convertissez les réponses JSON d'API REST en XML pour les systèmes d'entreprise traditionnels (SAP, Oracle EBS) qui n'acceptent que le XML.
- Générez des flux RSS, Atom ou sitemap.xml à partir de la configuration JSON pour la publication de contenu et l'indexation SEO.
- Préparez les corps de messages pour les SOAP Web Services (charge utile XML à l'intérieur de l'enveloppe SOAP) pour l'intégration de bus de services d'entreprise.
- Convertissez les fixtures de test JSON en format XML pour tester le code d'analyse XML hérité ou la liaison de données JAXB.
- Convertissez le JSON exporté depuis les bases de données en XML pour l'indexation et l'interrogation dans les bases de données XML (BaseX, eXist).
- Convertissez le JSON exporté depuis Excel en XML pour une utilisation dans les documents Office Open XML ou les fichiers de traduction XLIFF.
- Convertissez les données mock d'API (JSON) en format XML pour tester les clients WSDL ou la sérialisation XML de gRPC.
- Enseignez la relation de conversion entre les formats de données JSON et XML, aidant à comprendre la logique de mappage entre les formats de sérialisation.
Comment utiliser
- Collez du JSON dans l'éditeur de gauche, cliquez sur Télécharger pour sélectionner un fichier .json/.txt, ou cliquez sur Échantillon pour charger l'exemple intégré.
- L'outil convertit automatiquement avec un debounce de 400ms. Visualisez le code XML généré à droite avec la coloration XML de CodeMirror.
- Cliquez sur le bouton Formater (⇧⌘+F) pour réindenter le JSON à 2 espaces pour une lecture plus facile des structures complexes.
- Cliquez sur Copier pour copier le XML dans le presse-papiers, ou cliquez sur Télécharger pour l'enregistrer comme fichier output.xml (MIME : text/xml).
- Pour changer le nom du nœud racine ou ajouter des espaces de noms, modifiez manuellement le XML généré.
- Collez le XML dans le système cible (client API, éditeur XML, système d'entreprise) pour l'utiliser.
Fonctionnalités
- Mappage intelligent des nœuds : les objets JSON sont automatiquement enveloppés dans un nœud <root>, les tableaux dans des nœuds <item> répétés, correspondant aux conventions d'échange de données XML.
- Sortie avec prettyPrint : alimentée par le mode prettyPrint de xmlbuilder2, le XML généré inclut l'indentation et les sauts de ligne pour une excellente lisibilité.
- Conversion automatique en temps réel : l'outil convertit 400ms après l'arrêt de la saisie, avec 5 raccourcis clavier pour accélérer les opérations courantes.
- Auto-réparation des erreurs JSON : la routine intégrée tryFixJSON gère automatiquement les virgules de fin, les guillemets simples et les guillemets de clé manquants.
- Compatibilité des types de base : null, boolean, number, string et les autres types JSON de base sont convertis en contenu textuel d'élément XML.
- Objets imbriqués récursifs : les objets imbriqués de toute profondeur sont convertis récursivement en l'arbre d'éléments XML correspondant.
- Prise en charge des tableaux multi-niveaux : les tableaux uni et multidimensionnels sont correctement convertis en structures de nœuds <item> répétés.
- Coloration syntaxique JSON/XML : le côté gauche utilise la coloration JSON de CodeMirror, le côté droit la coloration XML pour plus de clarté.
- Système complet de raccourcis : 5 raccourcis courants (convertir/formater/télécharger/enregistrer/effacer) pour macOS et Windows/Linux.
- Copier et télécharger : copiez le résultat dans le presse-papiers en un clic ou téléchargez comme fichier output.xml standard (MIME : text/xml).
- 100% dans le navigateur : toute l'analyse et la génération se font en JavaScript côté client ; le JSON d'origine ne quitte jamais votre appareil.
- Récupération de l'historique : l'outil enregistre automatiquement les 200 derniers éléments d'historique et restaure l'entrée précédente au chargement de la page.
FAQ
Comment convertir JSON en format XML ?
Collez votre JSON dans l'éditeur de gauche et l'outil le convertit automatiquement en format XML standard. Les objets JSON sont enveloppés dans un nœud <root> (par exemple, { "name": "Alice" } devient <root><name>Alice</name></root>), et les tableaux en nœuds <item> répétés. La conversion s'exécute 400ms après l'arrêt de la saisie.
Comment les tableaux JSON sont-ils convertis en XML ?
Les tableaux JSON sont automatiquement enveloppés dans une structure à deux niveaux : le nœud <root> externe et les nœuds <item> répétés internes. Par exemple [{"a":1},{"a":2}] devient <root><item><a>1</a></item><item><a>2</a></item></root>. Cette conception correspond aux conventions courantes d'échange de données XML (RSS, messages SOAP).
Le XML généré est-il formaté ?
Oui. L'outil utilise le mode prettyPrint de xmlbuilder2 pour générer du XML avec indentation et sauts de ligne. Les développeurs peuvent coller le résultat directement dans les outils SOAP, éditeurs XML ou fichiers de configuration sans formatage manuel.
Quelles structures de données JSON sont prises en charge ?
Toutes les structures JSON valides sont prises en charge : primitives (null, boolean, number, string), tableaux de toute profondeur et objets imbriqués de toute profondeur. Les tableaux à chaque niveau sont enveloppés dans des nœuds <item> répétés.
Le XML téléchargé peut-il être utilisé directement avec SOAP ou RSS ?
Oui. Le XML généré est conforme à la spécification XML 1.0 et peut être analysé par la plupart des outils SOAP, lecteurs RSS, bases de données XML (BaseX, eXist) et systèmes d'entreprise (SAP, Oracle).
Que se passe-t-il si mon JSON échoue à l'analyse ?
Lorsque le JSON contient des virgules de fin, des guillemets manquants ou des guillemets simples au lieu de doubles, l'outil appelle automatiquement tryFixJSON pour tenter une réparation. Si la réparation réussit, vous serez notifié ; sinon, le panneau de droite affiche l'emplacement exact de l'erreur.
Puis-je personnaliser le nom du nœud racine XML ?
Cet outil utilise uniformément root comme nom de nœud racine et item pour les éléments de tableau. Ce sont les conventions d'échange de données XML les plus universelles. Si vous devez les personnaliser, modifiez manuellement le XML généré ou enveloppez votre JSON avec une clé personnalisée.
Comment les nombres et booléens JSON sont-ils représentés en XML ?
XML n'a pas de types natifs de nombre ou de booléen ; toutes les valeurs sont converties en chaînes. Par exemple, true en JSON devient <isActive>true</isActive>, et 30 devient <age>30</age>. Au moment de l'analyse, le parseur XML reconvertit les chaînes selon le schéma ou les indications de type.
Les espaces de noms XML sont-ils pris en charge ?
L'outil génère du XML standard sans espaces de noms, adapté à la plupart des cas d'usage généraux. Si vous avez besoin de XML SOAP ou WSDL avec des espaces de noms, vous pouvez modifier manuellement le XML généré pour ajouter des déclarations xmlns.
Les attributs XML sont-ils pris en charge ?
Non. L'outil utilise un mappage d'éléments purs : toutes les clés JSON deviennent des éléments XML et toutes les valeurs du contenu textuel d'élément. Si vous avez besoin de la forme d'attribut, ajustez manuellement le XML généré ou utilisez une transformation XSLT.
Quels types de fichiers d'entrée sont pris en charge ?
L'outil prend en charge les fichiers .json et .txt (encodage UTF-8). Cliquez sur le bouton Télécharger pour sélectionner un fichier local ; l'outil le lit via l'API FileReader native du navigateur sans le télécharger sur un serveur.
Quels raccourcis clavier sont disponibles ?
L'outil prend en charge ces raccourcis : sur macOS, ⇧⌘+Enter pour convertir, ⇧⌘+F pour formater, ⇧⌘+O pour télécharger, ⇧⌘+D pour enregistrer, ⇧⌘+K pour effacer ; sur Windows/Linux, utilisez Ctrl au lieu de ⌘.
Dépannage
Le nœud racine s'appelle root, peut-on le changer ?
L'outil utilise root uniformément. Pour personnaliser : 1) modifiez manuellement le XML avec rechercher-remplacer ; 2) enveloppez votre JSON avec une clé (par ex. {"response": {...}}) qui génère <root><response>...</response></root>.
Erreur XML 'unclosed token', que faire ?
C'est généralement que le JSON contient des caractères spéciaux XML (<, >, &) non échappés. L'outil les convertit automatiquement en entités XML (< > &), mais des cas extrêmes (CDATA, commentaires) peuvent nécessiter une gestion manuelle.
Comment personnaliser le nom de l'élément de tableau (pas item) ?
Modifiez manuellement le XML et utilisez rechercher-remplacer pour changer <item> au nom souhaité, en ajustant aussi la balise de fermeture </item>.
Les nombres JSON sont devenus des chaînes, que faire ?
XML n'a pas de type numérique natif. Options : 1) utilisez un schéma XSD avec xs:integer/xs:boolean ; 2) pré-nommez les clés JSON pour suggérer les types ; 3) utilisez XSLT pour convertir les types après génération.
Comment garder les nombres comme type numérique en XML ?
XML 1.0 n'a pas de type numérique natif. Si vous devez le préserver : 1) utilisez un schéma XSD avec xs:integer ; 2) utilisez JSON Schema + outil de conversion ; 3) ajoutez l'espace de noms XSI.
Avec quoi ouvrir le fichier .xml téléchargé ?
Le fichier output.xml est un fichier XML standard encodé en UTF-8. Vous pouvez l'ouvrir avec n'importe quel éditeur de texte (VS Code, Sublime, Notepad++) ou éditeur XML professionnel (XMLSpy, oXygen), ou le glisser dans un navigateur.
Les emoji ou caractères non-ASCII causent-ils des erreurs ?
Non. L'outil prend en charge l'encodage UTF-8 complet, y compris le chinois, le japonais, le coréen et les caractères Unicode emoji. La bibliothèque xmlbuilder2 gère automatiquement l'échappement des entités XML.
Glossaire
- JSON (JavaScript Object Notation)
- Format léger d'échange de données basé sur la syntaxe d'objets JavaScript, mais indépendant de tout langage de programmation.
- XML (eXtensible Markup Language)
- Langage de balisage extensible défini par W3C en 1998. Utilise des balises pour décrire les données et prend en charge les espaces de noms, la validation de schémas et les transformations XSLT.
- xmlbuilder2
- Bibliothèque JavaScript de construction XML pour générer des documents XML structurés.
- Encapsulation de nœud (root / item)
- Convention de dénomination de l'outil : les objets JSON sont enveloppés en <root>, les éléments de tableau en <item>.
- prettyPrint
- Mode de sortie de xmlbuilder2 qui ajoute automatiquement l'indentation et les sauts de ligne pour la lisibilité.
- SOAP (Simple Object Access Protocol)
- Protocole de communication de services web basé sur XML avec enveloppe, en-tête et corps.
- Flux RSS / Atom
- Formats de distribution de contenu basés sur XML.
- Élément vs attribut
- Deux façons de représenter des données en XML : éléments (balises) ou attributs (key='value').
- Section CDATA
- Syntaxe XML spéciale <![CDATA[...]]> pour incorporer du texte avec des caractères spéciaux.
- Espace de noms XML
- Mécanisme pour éviter les conflits de noms d'éléments via l'attribut xmlns.
- XPath
- Langage de requête de chemins XML pour localiser des nœuds dans un document XML.
- XSLT
- Langage de transformation de feuilles de style XML pour convertir XML d'un format à un autre.
- tryFixJSON
- Routine de réparation JSON intégrée qui gère les erreurs courantes de syntaxe JSON.
Règles de mappage des types JSON vers éléments XML
Règles de mappage basées sur xmlbuilder2 :
| Valeur JSON | Exemple | Élément XML | Règle |
|---|---|---|---|
string | "Alice" | <name>Alice</name> | Chaîne comme texte d'élément |
number | 30 | <age>30</age> | Nombre converti en chaîne |
boolean | true | <isActive>true</isActive> | Booléen converti en 'true'/'false' |
object | {"a":1} | <root><a>1</a></root> | Objet enveloppé en <root> |
array | [{"a":1}] | <root><item><a>1</a></item></root> | Tableau enveloppé en <item> |
Privacy & Security
Cet outil de conversion JSON vers XML s'exécute entièrement dans votre navigateur. L'analyse JSON, la génération XML et le formatage avec prettyPrint s'exécutent en JavaScript côté client (avec la bibliothèque xmlbuilder2) ; rien n'est envoyé à un serveur. Les téléchargements de fichiers utilisent l'API FileReader native et ne passent jamais par un service intermédiaire. L'outil n'utilise pas de cookies de suivi et ne collecte aucune donnée d'entrée ou d'utilisation. Toutes les entrées et sorties sont effacées de la mémoire dès que la page est fermée ou rechargée. Sûr à utiliser avec du JSON contenant des données commerciales confidentielles ou des réponses d'API internes.
Authoritative References
- Compression JSON
- CSV vers JSON
- JSON vers CSV
- JSON Diff
- JSON Escape / Unescape
- JSON Flatten
- Formatage JSON
- Générateur JSON
- Requête JSONPath
- Fusionner JSON
- Réparer JSON
- Validateur JSON Schema
- Trier JSON
- JSON Stringify
- JSON vers HTML
- JSON vers Java
- JSON to Markdown
- JSON en SQL
- JSON vers TOML
- JSON vers TypeScript
- XML vers JSON
- JSON vers XML
- YAML vers JSON
- JSON vers YAML
- JSON vers Python
- JSON vers Go
- JSON vers Rust
- JSON vers Swift
- JSON vers C#
- JSON vers C++
- JSON vers PHP