Convertisseur JSON vers XML
Convertissez des données JSON en XML. @attributes redevient les attributs de l'élément, #text le contenu textuel, et les tableaux des éléments frères répétés — le processus inverse de notre convertisseur XML vers JSON, directement dans le navigateur.
Comment fonctionne cette conversion de JSON en XML
JSON et XML décrivent tous deux des données structurées, mais pas tout à fait les mêmes choses. XML possède des attributs et un contenu textuel, deux notions qui n'existent pas en JSON. Toute conversion directe se heurte donc toujours aux deux mêmes questions : comment exprimer les attributs, et comment rendre à un tableau sa forme d'éléments répétés. Cet outil suit la convention la plus répandue et fait correspondre `@attributes` aux attributs de l'élément, `#text` au contenu textuel, et les tableaux à des éléments frères portant le même nom.
Ainsi, `{"book": {"@attributes": {"id": "1"}, "#text": "Titre"}}` devient `
Comment convertir du JSON en XML
- Collez le JSON Saisissez le JSON à convertir, qu'il s'agisse d'un objet ou d'un tableau.
- Placez dans @attributes ce qui doit être un attribut Regroupez dans un objet `@attributes` les clés que vous souhaitez obtenir comme attributs de l'élément.
- Placez le contenu textuel dans #text Lorsqu'un élément doit porter à la fois des attributs et un corps, placez la valeur du corps sous `#text`.
- Vérifiez le résultat et copiez-le Vous obtenez un XML indenté, prêt à être collé dans un fichier de configuration ou une requête d'API.
Astuces pour en tirer le meilleur parti
- Placez un objet sous la clé `@attributes` et chacune de ses propriétés deviendra un attribut de l'élément converti.
- Utilisez une clé `#text` pour le contenu textuel d'un élément qui possède aussi des attributs ou des éléments enfants. Un élément simple sans attribut peut utiliser directement une chaîne comme valeur.
- Donnez un tableau à la même clé et chaque élément sera généré comme un élément frère répété portant ce nom.
- Une valeur `null` produit une balise vide et auto-fermante (`
`) sans attribut, texte ni enfants. - Cet outil attend une entrée au format produit par notre "Convertisseur XML vers JSON" (un objet dont la clé est le nom de l'élément racine, avec exactement une clé de premier niveau).
Dans quels cas cela sert
Envoyer vers une API qui n'accepte que du XML
Quand vos données sont en JSON mais que le destinataire exige du XML, situation courante lors de l'intégration avec d'anciens systèmes de gestion.
Migrer un format de configuration
Utile comme premier brouillon pour transférer des réglages écrits en JSON vers un outil fondé sur XML.
Penser la structure XML en JSON
Écrire à la main un XML très imbriqué est fastidieux ; le monter en JSON puis le convertir reste bien plus lisible.
Fixer la convention elle-même
Essayer la façon dont `@attributes` et `#text` se traduisent aide à arrêter la spécification d'un convertisseur que vous écrivez vous-même.
Les termes de la conversion JSON vers XML
- Attribut
- La partie `id="1"` de `
`. JSON n'a pas d'équivalent, aussi cet outil la représente-t-il par la clé spéciale `@attributes`. - Contenu textuel (#text)
- Le corps de `
Titre `. Utilisez `#text` lorsqu'un élément doit porter attributs et corps en même temps. - Référence d'entité (échappement)
- Réécrire `&` en `&`, et ainsi de suite. **L'esperluette doit être convertie en premier, sinon le `&` d'un `<` fraîchement produit se trouve échappé une seconde fois.**
- Éléments frères répétés
- XML exprime une liste en répétant des éléments portant le même nom de balise. Un tableau JSON retrouve cette forme.
- Élément racine
- XML exige exactement un élément au niveau le plus haut. Lorsque le niveau supérieur de votre JSON comporte plusieurs clés, cela mérite réflexion.
Questions fréquentes
Anecdote — Ce à quoi faire attention en "reconvertissant" du JSON en XML
Convertir du XML en JSON ressemble un peu à une compression d'information. Le XML peut porter trois types d'informations — attributs, texte et éléments enfants — alors que le JSON n'a que de simples paires clé-valeur, si bien qu'une convention doit être adoptée au moment de la conversion (cet outil suit les quatre mêmes règles : `@attributes`, `#text`, tableaux et null). Tant que cette convention est respectée, reconvertir du JSON en XML est un processus mécanique et bien défini — mais forcer un JSON à structure libre qui ne la suit pas peut laisser incertain ce qui devrait être un attribut ou un élément, et le résultat peut ne pas correspondre à ce qui était attendu.
En pratique, cela se produit lorsque la réponse d'une ancienne API XML est convertie en JSON pour être traitée plus facilement en JavaScript, puis reconvertie en XML pour être envoyée à un autre système — par exemple, remodeler la réponse d'une API SOAP en JSON avant de la renvoyer sous forme de requête de type SOAP. Dans ce genre d'aller-retour, garder la convention de conversion cohérente est primordial ; intercaler un outil utilisant une convention différente peut brouiller la relation entre attributs et texte.
Cet outil exige strictement exactement une clé de premier niveau car cela reflète une règle du XML lui-même — un document doit avoir exactement un élément racine. Si vous devez convertir un JSON avec plusieurs clés de premier niveau, enveloppez-le au préalable dans une clé parente commune (par exemple `root`), et il se convertira proprement en XML avec un unique élément racine.