Aller au contenu principal
PulsarKit

Convertir JSON en XML

Créer un document XML valide à partir de JSON : choisissez les balises racine et élément, et les clés que XML refuse sont corrigées au lieu d’être supprimées.

Déposez vos fichiers ici

.json, .ndjson, .txt · jusqu’à 300 Mo

Plus de réglages

Comment convertir en XML

  1. 1

    Déposez un fichier JSON

    Ajoutez un fichier ou jusqu’à vingt. Le texte est lu et analysé dans cet onglet du navigateur, et toute erreur de syntaxe indique précisément la ligne et la colonne.

  2. 2

    Nommez les balises racine et élément

    La racine englobe tout le document, le nom d’élément est réutilisé pour chaque entrée d’un tableau. Les clés qui commencent par le préfixe d’attribut deviennent des attributs.

  3. 3

    Convertissez et téléchargez le XML

    Cliquez sur le bouton pour obtenir un document déclaré et indenté. Un traitement par lot revient sous forme d’une archive ZIP unique.

Clés que XML refuse comme noms de balise

Les clés d’objet JSON sont presque sans restriction, les noms d’élément XML ne le sont pas. « ventes 2024 », « id commande » ou la chaîne vide sont toutes des clés légales, et aucune ne peut être utilisée telle quelle comme balise. Supprimer ces champs ferait perdre des données, donc les caractères invalides sont remplacés par des traits de soulignement, un nom qui commence par un chiffre reçoit un n devant, et la liste complète avant-après est renvoyée avec le résultat.

Caractères carrément interdits en XML

L’échappement gère les esperluettes et les chevrons. Les caractères de contrôle en dessous de 0x20 posent un problème différent : XML 1.0 les rejette quelle que soit leur écriture, et ni une entité ni une section CDATA ne les rendent acceptables. Un seul 0x0B égaré, collé depuis une cellule de feuille de calcul, rendrait tout le document inanalysable. Ces octets sont donc supprimés et comptés, et le nombre s’affiche à côté du résultat.

Attributs, nœuds de texte et valeurs null

Une clé qui commence par le préfixe d’attribut, @_ par défaut, devient un attribut de son parent plutôt qu’un élément enfant, et la clé de texte porte le texte propre de l’élément. JSON a null et XML n’a pas d’équivalent direct, donc le choix vous revient : un élément vide, un élément marqué avec xsi:nil, ou aucun élément du tout.

Le fichier ne quitte jamais cet onglet

La lecture du fichier, l’analyse du JSON, la correction des noms et la sérialisation du XML se font dans votre navigateur, dans un thread de travail, avec le code livré avec la page. Il n’y a ni étape d’envoi, ni file de traitement, ni compte. Fermez l’onglet et le fichier disparaît, car aucune copie n’en a jamais été faite ailleurs.

Questions fréquentes

Comment définir le nom de l’élément racine ?

Le nom de la racine est le premier champ de la page et vaut root par défaut. Il doit être un nom XML légal (lettres, chiffres, points, traits d’union et traits de soulignement, sans commencer par un chiffre ni par le préfixe réservé xml). Toute erreur est signalée immédiatement, avec une proposition de correction.

Comment transformer une clé JSON en attribut XML ?

Ajoutez le préfixe @_ à la clé dans votre JSON et elle devient un attribut de l’élément englobant plutôt qu’une balise imbriquée. Le préfixe est configurable jusqu’à trois caractères, et le vider désactive complètement la mise en attribut, de sorte que chaque clé redevient un élément.

Que deviennent les clés qui ne sont pas des noms de balise XML valides ?

Par défaut elles sont corrigées : les caractères illégaux deviennent des traits de soulignement, un chiffre initial reçoit un préfixe n, et une clé vide reprend le nom d’élément. Un avertissement liste tout ce qui a été renommé. Vous pouvez aussi forcer toutes les corrections en silence, ou arrêter avec une erreur dès la première clé invalide.

Que se passe-t-il pour les valeurs null ?

Trois options. Un élément vide garde le champ visible dans le document, xsi:nil le marque explicitement comme nul comme l’attendent les consommateurs sensibles au schéma et déclare l’espace de noms sur la racine, et l’omission retire le champ. Les éléments vides sont le réglage par défaut car ils se reconstituent le plus fidèlement.

Quand ai-je besoin de CDATA ?

Rarement, car l’échappement classique est toujours correct. CDATA sert surtout à la lisibilité quand les valeurs contiennent beaucoup de texte qui ressemble à du balisage : activez-le et les chaînes de plus de 200 caractères, ou contenant des chevrons et des esperluettes, passent en section CDATA. Une séquence littérale ]]> dans une telle valeur est coupée en deux blocs pour que la sortie reste valide.

L’ordre des clés est-il conservé ?

Oui. Les éléments sont écrits dans l’ordre d’apparition des clés dans le JSON source, et les entrées des tableaux gardent leur ordre d’index. Les attributs sont écrits avant les éléments enfants parce que XML l’exige, mais entre eux ils suivent aussi l’ordre source, ce qui rend la sortie assez stable pour une comparaison entre exécutions.

Mon fichier est-il envoyé quelque part ?

Non. Tout se passe dans votre onglet du navigateur, et l’analyseur JSON comme le sérialiseur XML font partie de la page plutôt qu’un service externe. Il n’y a aucun serveur susceptible de recevoir le fichier, donc rien n’est stocké, journalisé ou conservé après la fermeture de l’onglet.

Outils associés