Générateur de données d’exemple depuis un JSON Schema

Collez un JSON Schema et générez un JSON d’exemple conforme dans votre navigateur. Votre schéma reste sur votre appareil.

Votre JSON Schema est analysé et transformé en données d’exemple localement dans votre navigateur et n’est jamais téléversé, mais évitez d’intégrer de vrais secrets ou des valeurs de production dans le schéma que vous collez.

Vous avez du JSON mais il vous faut le schéma ? Essayez le Générateur de JSON Schema.

À propos de Données d’exemple depuis un JSON Schema

Ce générateur de données d’exemple depuis un JSON Schema transforme un schéma en JSON d’exemple réaliste qui s’y conforme réellement. Collez un schéma draft-07, 2019-09 ou 2020-12 et il construit des données qui respectent vos types, les formats de chaîne comme email, date, uri et uuid, les choix d’enum, les propriétés requises, les bornes minimum et maximum, et les combinateurs tels que allOf, anyOf et oneOf. Choisissez combien d’échantillons produire et ils sont enveloppés dans un tableau, ou générez un objet unique. Activez les valeurs réalistes pour remplir les formats de chaîne avec des noms, e-mails et dates vraisemblables au lieu de simples espaces réservés. Utilisez-le pour amorcer une base de données, simuler une réponse d’API ou créer des fixtures pour vos tests sans rédiger à la main des charges utiles d’exemple. Le schéma que vous collez est traité entièrement dans votre navigateur et ne quitte jamais votre appareil.

Fonctionnalités

Comment utiliser Données d’exemple depuis un JSON Schema

  1. Collez votre JSON Schema dans la zone du schéma, ou cliquez sur Load example.
  2. Définissez combien d’échantillons vous voulez et activez ou désactivez les valeurs réalistes.
  3. Lisez le JSON d’exemple conforme dans le panneau de sortie à droite.
  4. Cliquez sur Copier pour récupérer les données, ou téléchargez-les sous sample-data.json.

Exemple

Entrée

{
  "type": "object",
  "required": ["id", "email", "role"],
  "properties": {
    "id": { "type": "integer", "minimum": 1 },
    "email": { "type": "string", "format": "email" },
    "role": { "enum": ["admin", "editor", "viewer"] }
  }
}

Sortie

{
  "id": 254,
  "email": "ada@example.com",
  "role": "editor"
}

Les contraintes d’entier, de format email et d’enum sont toutes satisfaites dans l’objet généré.

Erreurs courantes et dépannage

Foire aux questions

Quels drafts de JSON Schema sont pris en charge ?
Il gère les schémas draft-07, 2019-09 et 2020-12, couvrant les types, les formats de chaîne, les enums, les propriétés requises, les bornes numériques et les combinateurs comme allOf, anyOf et oneOf.
En quoi est-ce différent de la validation d’un JSON Schema ?
La validation vérifie si des données existantes correspondent à un schéma. Cet outil fonctionne dans le sens inverse : il lit un schéma et génère de nouvelles données d’exemple qui s’y conforment, afin que vous puissiez amorcer des tests, des mocks ou une base de données.
Comment générer un tableau de plusieurs enregistrements ?
Réglez le nombre d’échantillons au-dessus de 1. Chaque échantillon est généré à partir du même schéma et les résultats sont enveloppés dans un tableau JSON ; un nombre de 1 renvoie un objet unique à la place.
Que fait l’option de valeurs réalistes ?
Lorsqu’elle est activée, les formats et champs de chaîne reconnus sont remplis de noms, e-mails, dates et URL vraisemblables. Lorsqu’elle est désactivée, les valeurs sont générées à partir des contraintes et motifs propres au schéma.
Les données générées satisfont-elles toujours le schéma ?
Le générateur respecte les types, formats, enums, champs requis et bornes numériques. Les règles not ou conditionnelles if/then/else très complexes peuvent être difficiles à satisfaire exactement, alors validez la sortie par rapport à votre schéma pour les fixtures critiques.
Mon schéma est-il téléversé quelque part ?
Non. Le schéma que vous collez est analysé et généré entièrement dans votre navigateur, de sorte qu’il est traité localement sur votre appareil et n’est jamais envoyé à un serveur.

Outils associés

Tous les outils ArrayKit