Altova XMLSpy 2024 Enterprise Edition

Convertir instance XML en/de JSON

Accueil Préc Haut Suivant

Si le document actif est un document XML, cette commande génère un document JSON depuis le document XML. Si le document actif est un document JSON, la commande génère un document XML depuis le document JSON. Le document généré est ouvert dans une nouvelle fenêtre et peut ensuite être enregistré dans n'importe quel endroit. Les options de conversion sont décrites ci-dessous. Pour plus d’iinformation sur la prise en charge de JSON et de l’édition JSON dans XMLSpy, voir la section JSON et JSON Schema.

 

Conversions d'échantillon

Ci-dessous, vous trouverez un exemple d'un document de source XML et en-dessous le document JSON généré par la commande Convertir Instance XML vers/depuis JSON.

 

Document XML

 

<?xml version="1.0" encoding="UTF-8"?>

<Person first="Jim" last="James">

 <Address>

   <street>4 New Street</street>

   <city>New York</city>

   <state>NY</state>

   <code>10123</code>

 </Address>

 <Tel type="home">

     123 123-1234

 </Tel>

 <Tel type="office">

     123 987-9876

 </Tel>

</Person>

 

Document JSON

 

{

 "XML": {

         "version": 1,0,

         "encoding": "UTF-8"

 },

 "Person": {

         "first": "Jim",

         "last": "James",

         « Adresse » : {

                 "street": "4 New Street",

                 "city": "New York",

                 "state": "NY",

                 "code": 10123

         },

         "Tel": [ { "type": "home",

                 "Text": "\      123 123-1234\  "}, { "type": "office",

                 "Text": "\      123 987-9876\  "} ]

 }

}

 

 

Pour convertir un document JSON en XML, rendre le document JSON actif et cliquer sur la commande Convertir l'instance XML de/vers JSON.

 

Options de conversion XML en JSON

Lorsque vous cliquez sur la commande Convertir instance XML en/de JSON pour convertir un document d'instance XML vers un document d'instance JSON, le dialogue Convertir XML en JSON (capture d'écran ci-dessous) apparaît. Vous pouvez sélectionner si vous souhaitez convertir en commentaires JSON, JSON5 ou JSON. Ensuite, définir les options de conversion que vous souhaitez et cliquez sur OK. Un document d'instance JSON sera généré depuis l'instance XML et le document JSON généré sera ouvert dans une nouvelle fenêtre.

JSONConvertXMLInstance2JSON

La première des deux options est de définir si vous souhaitez ajouter des préfixes aux noms de propriété JSON afin d'éviter des conflits avec des éléments se trouvant dans le même niveau. Les deux listes ci-dessous expliquent la procédure. L'attribut XML somenode a été converti en une propriété JSON @somenode. De cette manière, vous éviterez tout conflit avec la propriété JSON somenode (créée depuis l'élément XML somenode).

 

Instance XML

 

<root somenode="value">

   <somenode>content</somenode>

</root>

 

 

Instance JSON

 

{

   "root": {

       "@somenode": "value",

       "somenode": "content"

   }

}

 

 

Les options suivantes vous permettent de spécifier si certains types de nœuds XML doivent être convertis ou pas. Si des commentaires XML sont inclus, ils reçoivent le nom "#". Les nœuds de texte (qui se produisent généralement dans des éléments à contenu mixte) reçoivent le nom "\$". Si un nœud XML a un préfixe d'espace de noms, le nom JSON correspondant sera créé avec ce préfixe d'espace de noms. Si des éléments portant le même nom existe au même niveau, ils seront considérés comme des composants égaux. De manière semblable, les nœuds tels les commentaires, les instructions de traitement et le texte() au même niveau sont également des composants égaux. Si des composants égaux sont présents au même niveau, vous pourrez choisir si vous souhaitez créer un tableau ou pas. Les options sont soit créer un tableau à partir de tous les composants égaux, seulement à partir de composants égaux voisins, soit de ne pas créer de tableau du tout.

 

L’option Utiliser info de type Schéma XML permet des conversions à être faites sur la base du type de Schéma XML du nœud source. Par exemple, si un nœud est défini dans le schéma comme étant de type xs:string, la propriété d'objet JSON cible sera de type JSON string et sera entouré de guillemets. Cela est utile si, par exemple, un nombre est stocké en tant que string dans le nœud XML de source et la conversion en JSON doit aussi être fidèle en terme de type.

 

Options de conversion JSON en XML

Lorsque vous cliquez sur la commande Convertir instance XML en/de JSON pour convertir un document a instance XML vers un document d'instance JSON, le dialogue Convertir XML en JSON (capture d'écran ci-dessous) apparaît. Définir les options de conversion que vous souhaitez et cliquer sur OK. Un document d'instance XML sera généré depuis l'instance JSON et le document XML généré s'ouvrira dans une nouvelle fenêtre.

JSONConvertJSONInstance2XML

Veuillez noter les points suivants :

 

Les propriétés d'objet JSON sont converties en éléments XML. Les premières options dans le dialogue vous permettent de choisir si quelques types de propriétés sont crées ou non.

Encoder les deux-points dans les noms de propriété : Si sélectionnés, les deux-points dans les noms JSON sont encodés et pas créés comme deux-points. Si non sélectionnés, les deux-points sont laissés tels quels.

Garder l’information de type de valeur JSON : Si sélectionnée, l’information de type JSON d’une propriété est créée comme paire d’attribut-valeur de l’élément correspondant.

Créer l’élément de conteneur pour chaque table JSON : L’élément de conteneur dans le document XML obtiendra le nom de l’objet de la table JSON. Les items de l'array JSON sont créés en tant qu'éléments XML dans ce conteneur. Ils reçoivent les noms que vous avez spécifiés dans la fenêtre de saisie Nom d'élément d'item de tableau.

 

© 2017-2023 Altova GmbH