Générer schéma JSON depuis une instance JSON
XMLSpy peut générer un schéma JSON depuis un document d'instance JSON (y compris des instances JSON5). Cette fonction est très utile du fait qu'elle vous fournit rapidement un schéma basé sur une instance JSON existante et vous épargne la création manuelle d'un schéma à partir de zéro. Vous pouvez ensuite modifier ou étendre le schéma généré selon vos besoins.
Générer le schéma JSON
Vous pouvez générer un schéma JSON depuis une instance JSON d’une des manières suivantes :
•Menu DTD/Schéma : Faire du document d'instance JSON le document actif. Sélectionnez la commande de menu DTD/Schéma | Générer DTD/Schéma.
•Fenêtre d’info JSON : Faire du document d'instance JSON le document actif. Dans l’onglet JSON de la fenêtre info (capture d’écran ci-dessous), cliquez sur l’icône Flèche à côté de Validation par rapport au schéma et, dans le menu déroulant qui apparaît, sélectionnez Générer Schéma JSON .
Dans les deux cas, le dialogue Générer Schéma JSON apparaît (capture d’écran ci-dessous dans la prochaine section). Pour ce faire, procédez comme suit :
1.Modifiez les paramètres comme vous le souhaitez (voir ci-dessous pour les détails) et cliquez sur OK quand vous avez terminé.
2.Vous serez invité à fournir un chemin et un nom de fichier pour le schéma JSON généré. Saisissez-les.
3.En cliquant sur Enregistrer, le schéma JSON sera généré et deviendra le document actif.
Dans le document d'instance JSON, le fichier de schéma généré sera attribué en tant que le schéma à utiliser pour la validation (voir la fenêtre info ; capture d’écran ci-dessus) ; toutes les attributions précédentes seront écrasées. Pour changer l’attribution, utilisez la commande Sélectionner Schéma JSON du menu de la liste déroulante de la fenêtre (voir capture d’écran ci-dessus). Pour plus d’information sur la validation des instances JSON, voir Valider les Documents JSON.
Paramètres pour la génération de schéma JSON
Vous pouvez spécifiez des options pour JSON la génération de schéma dans le dialogue Générer schéma JSON (voir la capture d’écran ci-dessous). Voir la section précédente pour plus d’informations concernant l’accès à ce dialogue.
Détecter des tuples d’array
Un tuple d'array est la séquence des items dans un array. Par exemple, l'array suivant présente un tuple de trois items : [ 1, 2, "abc" ]. Pour la validation des arrays, le schéma peut spécifier si l'ordre et le type de données des items (tuples) doivent être considérés ou pas. Si l’option Détecter des tuples d’array est cochée (voir la capture d’écran ci-dessus), alors l'ordre et le type de données des items seront détectés. Sur la base de ce qui est détecté, une définition correspondante sera créée dans le schéma. Les options pour ce paramètre sont les suivantes :
•Nombre d'items de tuple : Un nombre minimum et maximum d'items de tuple peut être spécifié. Si un tuple dans l'instance a un décompte d'item se trouvant dans cette plage, cet array sera détecté et défini.
•Types simples uniquement : uniquement des tuples qui ont des items de type simple (les types atomiques string, number, integer, boolean, et null) seront considérés pour une détection.
•Arrays nommés identiquement : seuls les arrays qui sont définis en tant que valeurs des propriétés qui ont le même nom sont considérés pour une détection. Par exemple, dans le fragment de données JSON suivant, les arrays marqués par des crochets rouges sont tous des valeurs de propriétés nommées a1 (colorées en bleu) : {"object1": [ { "a1": [ 1, 2, "abc" ] }, { "a1": [ 3, 4, "def" ] }, { "a1": [ 5, 6, "ghi" ] } ] }.
•Nombre minimum d’arrays : un nombre minimum d'arrays peut être spécifié pour activer la détection d'arrays.
Autres paramètres
•Ignorer l'ordre des noms de propriété d'objet : si non sélectionné, l'ordre des propriétés d'un objet est coché et recréé aussi précisément que possible. Sinon, l'ordre n'est pas coché.
•Essayer de faire correspondre le format de chaîne : le schéma peut spécifier que les types de données de chaîne doivent avoir un format spécifique. Si cette option est sélectionnée, XMLSpy tentera de détecter le format de chaîne et d'ajouter une définition de format pour les chaînes, lorsque cela est possible.
•Faire des arrays simples localement : un array simple est un array dans lequel tous les items sont du même type de données simple. Une fois sélectionnés, tous les arrays simples seront définis localement dans le schéma, au lieu d'utiliser des définitions globales qui sont référencées localement.
•Faire des objets simples localement : un objet simple est un objet dans lequel toutes les valeurs de propriété sont du même type de données simple. Une fois sélectionnés, tous les objets simples seront définis localement dans le schéma, au lieu d'utiliser des définitions globales qui sont référencées localement.
Note : | une fois que le schéma JSON a été généré, vous pouvez faire des définitions locales d'objets individuels et d'arrays globaux et vice-versa. Pour plus d’informations, voir la section Définitions globales et locales. |