Mise en forme du code / Guides

Conversion JSON et XML : que reste-t-il après l'aller-retour ?

JSON et XML peuvent décrire des enregistrements proches, mais organisent différemment les valeurs. La règle de correspondance compte.

Deux structures, pas deux écritures

JSON distingue objets, tableaux, chaînes, nombres, booléens et null. XML possède des éléments nommés, des attributs, des nœuds de texte et un arbre de document ordonné. Aucune règle universelle et sans perte ne relie tout JSON à tout XML. Un convertisseur doit choisir une racine, la place des attributs et la façon de produire des enfants répétés. MultiVerto attend un objet JSON à propriété unique comme racine du document XML. Cette propriété devient le nom de l'élément. L'objet spécial @attributes rassemble les attributs et les tableaux produisent des enfants répétés. Ce sont des conventions de l'outil, non des noms fixés par la norme XML. Identifiez le schéma cible avant de traiter des données réelles.

Suivre un enregistrement de commande

Dans l'exemple intégré, order possède @attributes avec id égal à la chaîne 7, un tableau item contenant pen et book, et count égal au nombre 2. L'outil JSON vers XML crée une racine order, un attribut id, deux éléments item et un élément count. L'outil inverse peut relire ce document simple. Il regroupe les éléments item répétés en tableau et range l'attribut sous @attributes. En revanche, le contenu d'un élément est lu comme du texte: count, qui était le nombre JSON 2, revient comme chaîne 2. Le chiffre affiché semble identique, mais son type ne l'est plus. Comparez les structures analysées et pas seulement leur présentation.

Le dossier se convertit, mais le type numérique change au retour.
  1. JSON : count est le nombre 2; item un tableau
  2. XML : count est du texte; deux éléments item
  3. Retour JSON : count est chaîne 2; vérifier le schéma

Les endroits où l'information change

XML distingue attributs et éléments enfants; un objet JSON utilise des propriétés jusqu'à ce qu'une convention en réserve certaines. Des noms répétés peuvent devenir un tableau, tandis qu'une seule occurrence peut devenir une valeur simple et surprendre un programme qui attend toujours un tableau. JSON null, la précision numérique et les booléens demandent une règle de schéma explicite, car le seul texte XML ne révèle pas ces types. L'ordre des éléments peut aussi compter pour un destinataire XML même si une application considère les propriétés JSON comme non ordonnées. MultiVerto refuse volontairement le texte significatif mêlé à des éléments enfants et ne gère pas toutes les constructions XML.

Définir la correspondance avant l'outil

Si vous reliez deux services, demandez un exemple de document et le schéma du destinataire. Décidez quels champs seront attributs ou éléments, puis comment représenter les tableaux. Précisez le traitement d'un nombre, booléen, texte vide ou champ absent. Si la source est XML, examinez espaces de noms et contenu mixte avant d'utiliser un convertisseur léger; un parseur spécialisé peut être nécessaire. Si la source est JSON, vérifiez que la racine soit un unique objet nommé et que les clés conviennent comme noms d'élément pour cet outil. Faites passer un petit cas réaliste dans les deux sens et essayez le résultat dans le véritable système destinataire.

Vérifier un aller-retour utile

Copiez le résultat d'exemple dans le convertisseur XML vers JSON et comparez les données reconstruites avec le JSON de départ. Regardez types, répétitions, emplacement des attributs et valeurs vides. Réduisez item à un élément et vérifiez si le logiciel suivant attend encore un tableau. N'essayez un count avec zéro initial que si le schéma l'autorise; un texte et un nombre ont des significations différentes. Conservez l'original à côté du document converti. Mettre XML en forme aide à voir l'imbrication, mais ne corrige pas une mauvaise règle de correspondance. Une analyse syntaxique réussie ne prouve pas la signification métier attendue.

Essayer le convertisseur

Convertissez la commande en XML, puis testez le trajet inverse.

Convertissez un objet JSON à racine unique en XML.

Ouvrir le convertisseur complet

Autres guides

Guides de conversion

Explorer les guides