Outils JSON

JSON vers XMLdéfinir le document attendu par le destinataire

L’exemple contient un attribut, du texte, un tableau vide et null. Vérifiez leur représentation avant l’export.

JSON vers XML

XML vers JSON

Entrée JSON

Traitement dans ce navigateur, sans envoi ni stockage de la saisie.

Résultat XML

Options de sortie

Aperçu des types

Résultat périmé ; export désactivé.

JSON vers XML sert à préparer les données d’une API pour un système qui attend un document. Le choix des attributs et de l’espace de noms dépend du contrat de ce système, pas uniquement des valeurs fournies.

La racine choisie enveloppe toujours l’entrée entière. Même une valeur isolée reçoit cet élément. Les conventions de tableaux et de champs spéciaux restent ainsi visibles avant de transmettre le résultat.

Pourquoi préparer JSON vers XML ici ?

Ne pas supprimer les tableaux vides

JSON vers XML conserve le conteneur nommé du tableau et crée un élément item pour chaque entrée. Un tableau vide garde son conteneur. Les tableaux imbriqués gardent également leurs niveaux, même si vous changez le nom des entrées.

Un tableau devient un conteneur avec deux enfants tandis qu’un conteneur vide reste présent.

Choisir le rôle de chaque champ

@id devient un attribut et #text fournit le texte de l’élément. Ces deux rôles peuvent coexister. Le mélange de texte et d’éléments enfants est refusé, car un objet ne décrit pas l’ordre arbitraire d’un contenu mixte.

Une valeur d’objet devient un attribut et une autre le texte entre les balises.

Les conventions à vérifier en premier

01

La racine est une enveloppe ajoutée

Un objet à une seule clé ne devient pas automatiquement la racine du document. Cette clé reste sous la racine choisie. Le nom des entrées de tableau s’applique à tous les niveaux.

02

Relire les marqueurs spéciaux

Les valeurs initiales sont @ pour les attributs et #text pour le texte. Vous pouvez les modifier. Désactiver la correspondance fait contrôler toutes les clés comme des noms d’éléments, y compris les anciennes clés spéciales.

03

Regrouper les changements en mode manuel

Le mode automatique attend 350 millisecondes. Désactivez-le pour lancer avec le bouton ou Ctrl/Cmd+Enter. Tout changement bloque immédiatement l’export. L’aperçu présente 50 nœuds à la fois, parmi les 500 premiers.

Des choix de structure contrôlables

Racine et espace de noms

La racine et les entrées utilisent des noms locaux XML 1.0 valides. L’URI par défaut est déclarée sur la racine et s’applique aux éléments. Les attributs sans préfixe restent hors de cet espace de noms.

Une convention pour null

Le réglage initial écrit xsi:nil="true" et déclare xsi automatiquement. Le mode de refus s’arrête sur null. Chaînes, objets et tableaux vides produisent un élément vide présent, sans supprimer leur champ.

Préserver les valeurs textuelles

Les nombres 9007199254740993, -0 et 1e999 gardent leur écriture sans conversion préalable en flottant. Les caractères spéciaux sont échappés. Les tabulations et sauts de ligne des attributs utilisent des références de caractères.

Une vérification après génération

Un analyseur indépendant contrôle XML 1.0 et les espaces de noms, puis compare noms, attributs et texte avec l’arbre cible. Choisissez deux espaces, quatre ou une sortie compacte, avec une déclaration UTF-8 facultative.

Ce que la correspondance ne garantit pas

Les types ne sont pas tous réversibles
Nombres et booléens deviennent du texte sans annotation JSON. Un tableau vide, un objet vide et une chaîne vide peuvent donner le même élément. Conserver les nœuds ne garantit donc pas un aller-retour sans ambiguïté.
Aucune réparation silencieuse
Une clé vide, contenant des espaces ou commençant par un chiffre provoque une erreur avec JSON Pointer. Pas de remplacement par des tirets bas, de tri, de commentaires ou de conservation du dernier doublon seulement.
Des scalaires pour attributs et texte
Seuls les chaînes, nombres et booléens non null sont admis. Les objets et tableaux sont refusés à ces emplacements. Un champ texte, même vide, ne peut pas accompagner des éléments enfants.
Un périmètre de noms limité
Seuls l’espace par défaut et @xml:lang sont proposés. Les autres noms avec deux-points, xml:space, les déclarations xmlns et les redéfinitions xsi sont refusés. Les URI XML/XMLNS réservées et la validation XSD, DTD ou SOAP restent hors périmètre.
Une conversion de texte bornée
Limites : 500 000 caractères en entrée, profondeur 100, 50 000 nœuds et 2 000 000 caractères en sortie. Les caractères XML interdits et substituts isolés sont rejetés. Aucun import de fichier, URL, lot, CDATA ou conversion inverse ici.

Questions sur JSON vers XML

Comment les tableaux sont-ils représentés ?

Chaque tableau garde un élément conteneur qui porte sa clé, puis des enfants portant le nom choisi. Un tableau vide reste présent. Cette conversion JSON XML ne répète pas directement la clé comme une suite d’éléments frères sans conteneur.

Peut-on créer des attributs depuis le JSON ?

Oui : @id devient id avec le préfixe initial. Ce convertisseur JSON vers XML ne devine pas quels autres champs devraient être des attributs. Le champ #text, lui, désigne le contenu textuel de l’élément.

Comment choisir un autre nom pour la racine ?

Modifiez l’option de nom de racine. Elle ajoute toujours une enveloppe, même si l’objet n’a qu’une seule propriété. Pour convertir JSON en XML conforme à un contrat, vérifiez donc ce niveau supplémentaire avec le destinataire.

La conversion inverse conserve-t-elle les nombres et les booléens ?

Pas automatiquement. XML ne distingue pas le texte "true" d’un booléen ni "1" d’un nombre sans convention supplémentaire. Cette page conserve les valeurs écrites, mais n’ajoute pas de typage et n’effectue pas la conversion inverse.

Le contenu est-il transféré hors du navigateur ?

La conversion n’a pas de fonction d’envoi du contenu. L’URI d’espace de noms est une identification, pas une adresse que l’outil charge. Le résultat n’est transmis à votre destinataire que lorsque vous l’utilisez vous-même.

Votre document révèle une difficulté de correspondance ?

Préparer le prochain échange

Utilisez JSON vers XML pour examiner l’exemple, puis indiquez la racine et l’espace de noms de votre système.