Aller au contenu
snowkitDev

Des données de test réalistes à partir de votre schéma

Collez un schéma JSON ou un enregistrement d'exemple et obtenez autant d'enregistrements crédibles que vous voulez, en JSON, NDJSON ou CSV.

Valider par rapport à un schéma

Votre JSON et le JSON Schema auquel il doit correspondre.

draft 2020-12 ou 07

    Vérifié au fil de la frappe

    La même graine donne toujours les mêmes données.

    Vérifiez du JSON par rapport à un schéma, extrayez des valeurs avec JSONPath, et créez des données de test réalistes, le tout dans votre navigateur. Rien n'est envoyé : c'est donc sûr pour les données privées. C'est gratuit et sans compte.

    Comment utiliser la boîte à outils JSON

    1. Ouvrez l'onglet Valider, JSONPath ou Données factices. Charger l'exemple montre un jeu fonctionnel.
    2. Valider : collez vos données JSON et un JSON Schema, appuyez sur Mettre en forme les deux pour les formater, et lisez les problèmes listés.
    3. JSONPath : collez votre JSON, saisissez une expression JSONPath et lisez le résultat. Afficher les chemins ajoute l'emplacement de chaque correspondance, et Copier le résultat l'emporte.
    4. Données factices : collez un schéma ou un enregistrement d'exemple (ou Essayer un enregistrement d'exemple à la place), réglez le nombre d'Enregistrements et une Graine, et choisissez la Sortie : tableau JSON, NDJSON (un par ligne) ou CSV.
    5. Appuyez sur Copier ou Télécharger.

    Ce que vérifie le validateur

    Les mots-clés principaux de JSON Schema draft 2020-12 et draft 07 : type, properties, required, additionalProperties, patternProperties, items et prefixItems, enum, const, limites de nombres et de longueur, pattern, uniqueItems, contains, oneOf, anyOf, allOf, not, if/then/else, et $ref vers des définitions locales comme #/$defs/address. Les formats vérifiés sont email, uri, date, time, date-time, uuid, ipv4, ipv6 et hostname. Chaque problème est listé avec son chemin, comme $.items[2].price, pour que vous le trouviez vite.

    JSONPath en bref

    $ est la racine, .name choisit une clé, ..name cherche à n'importe quelle profondeur, * correspond à tout, [0] et [-1] choisissent par position et [0:3] prend une tranche. Les filtres comme [?(@.price < 10)] gardent les éléments qui passent un test ; vous pouvez comparer avec ==, !=, <, >, faire correspondre une expression régulière avec =~ /text/i, vérifier qu'une clé existe avec [?(@.isbn)], et combiner des tests avec && et ||.

    Des données factices réalistes

    Collez un schéma pour obtenir des enregistrements qui le respectent, avec des nombres entre votre minimum et votre maximum, des chaînes conformes à leur longueur, motif et format, et des valeurs prises dans chaque enum. Collez plutôt un enregistrement d'exemple et sa forme est copiée. Les noms de champs guident les valeurs : email, first_name, city, price, created_at et is_active reçoivent donc un contenu plausible, et les e-mails correspondent aux noms du même enregistrement.

    Conseils

    • Utilisez la même graine pour obtenir à nouveau les mêmes données factices, ce qui rend les tests reproductibles.
    • Quand la validation échoue, corrigez la première erreur et vérifiez à nouveau, car une seule erreur peut en causer plusieurs.
    • Commencez par le JSONPath $..name pour chercher dans un gros fichier une clé que vous connaissez.
    • Utilisez la sortie NDJSON pour les outils qui lisent un enregistrement par ligne.

    Qui l'utilise

    Développeurs qui testent une API, analystes qui extraient des champs d'un export, et étudiants qui apprennent le JSON. Outils liés : JSON en types, convertisseur de formats et comparateur de texte.

    Questions

    Mon JSON est-il envoyé ?

    Non. Tout s'exécute dans votre navigateur.

    Quelles versions de schéma sont prises en charge ?

    Draft 2020-12 et draft 07, pour les mots-clés listés ci-dessus.

    Les données factices sont-elles réelles ?

    Non. Elles sont inventées : vous pouvez donc les partager et les utiliser dans des tests sans risque.

    Et ensuite

    Poursuivez avec ce que vous venez de créer, toujours sur votre appareil.

    Plus de Snowkit