jsonecho

XML vers JSON Schema

Collez un document XML et obtenez des types JSON Schema qui correspondent à sa structure.

Chargement de l'outil...

Comment utiliser XML vers JSON Schema

  1. Collez un exemple XML représentatif, idéalement un avec tous les champs optionnels remplis.
  2. Définissez le nom du type racine, et décidez si vous voulez aussi du code auxiliaire ou uniquement les types.
  3. Copiez le code JSON Schema généré dans votre projet.

À propos de XML vers JSON Schema

Écrire des classes de modèle à la main pour une grosse charge utile XML est fastidieux, et c'est là que les fautes de frappe s'installent. Collez un exemple ici et le générateur déduit la structure : quels champs existent, lesquels sont des objets, lesquels sont des tableaux et quel type a chaque valeur. La sortie est un document JSON Schema (saveur draft-06) décrivant la structure.

Le XML est d'abord converti en JSON de la même manière que dans notre outil XML vers JSON : les attributs reçoivent un préfixe @_ et le contenu texte à côté des attributs s'appelle #text. Les types JSON Schema sont générés à partir de ce résultat. Il est déduit d'un seul exemple, donc il décrit cet exemple. Révisez-le avant de l'utiliser pour valider des données de production, par exemple pour resserrer les formats de chaîne ou ajouter des limites.

Utiliser le code généré

Enregistrez la sortie comme fichier .json et utilisez-la avec un validateur comme Ajv ou jsonschema pour vérifier d'autres documents.

Les champs qui ne sont pas présents dans chaque enregistrement d'exemple sont laissés hors de la liste required.

Questions fréquentes

De quoi dépend le code JSON Schema généré ?

La sortie est un document JSON Schema (saveur draft-06) décrivant la structure.

Comment analyser du XML avec le résultat ?

Convertissez d'abord le XML en JSON (notre outil XML vers JSON le fait de la même manière), puis enregistrez la sortie comme fichier .json et utilisez-la avec un validateur comme Ajv ou jsonschema pour vérifier d'autres documents.

Comment les champs optionnels et manquants sont-ils gérés ?

Les champs qui ne sont pas présents dans chaque enregistrement d'exemple sont laissés hors de la liste required.

Le générateur regarde-t-il plus d'un enregistrement ?

Il ne connaît que ce qui est dans votre exemple. Si un champ manque dans votre exemple, il n'apparaîtra pas dans les types, et si une valeur est null dans votre exemple, son type est inconnu. Collez un exemple dans lequel autant de champs que possible sont remplis, ou collez un tableau avec plusieurs enregistrements différents.

Mon XML est-il envoyé à un serveur ?

Non. Le générateur est téléchargé dans votre navigateur la première fois que vous l'utilisez, environ 1 Mo, et tout s'exécute localement.

Plus dans Données vers classe

Tous les outils →