Convertir instance XML en/de JSON

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Manuel de l'utilisateur et référence > Commandes de menu  > Menu Conversion >

Convertir instance XML en/de JSON

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'informations concernant JSON et la prise en charge de l'édition dans XMLSpy, voir la section JSON et Schéma JSON.

 

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", 

         "Address": {

                 "street": "4 New Street", 

                 "city": "New York", 

                 "state": "NY", 

                 "code": 10123

         }, 

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

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

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

 }

}

 

 

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 choisir si vous souhaitez convertir en JSON ou en  JSON5. 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 même, les nœuds comme les commentaires, les instructions de traitement et le texte() situés au même niveau sont aussi 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, ou de ne pas créer un tableau du tout.

 

L'option Utiliser le type Schéma XML permet d'effectuer les conversions sur la base du type de Schéma XML du nœud de 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 d'instance JSON en un document d'instance XML, le dialogue Convertir JSON en XML (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 des types de propriété sont créés ou pas.
Encoder les points-virgule dans les noms de propriété : si sélectionnés, les points-virgule dans les noms JSON sont encodés et non créés en tant que points-virgule. S'ils ne sont pas sélectionnés, les points-virgule demeurent tels qu'ils sont.
Garder l'information de type de valeur JSON : si sélectionnée, une information de type JSON d'une propriété est créée en tant que paire attribut-valeur de l'élément correspondant.
Créer élément de conteneur pour chaque tableau JSON : L'élément conteneur dans le document XML recevra le nom de l'objet de tableau 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.

 


© 2018 Altova GmbH