payload/gate English

Validateur JSON pour les règles qu’un récepteur applique

Collez un objet JSON ou un tableau d’objets, listez les champs que l’API cible accepte, et voyez chaque valeur qui enfreint une règle, avec sa position exacte. Rien n’est envoyé à un serveur.

Chargement de l’outil…

Les chemins pour les données imbriquées

Un champ se nomme par son chemin. Un point entre dans un objet, et [] parcourt chaque élément d’un tableau :

  • customer.email est le champ email dans customer.
  • lines[].sku est le sku de chaque élément de lines. Un problème est signalé avec son rang, par exemple lines[2].sku.
  • tags[] désigne chaque valeur d’un tableau de valeurs simples.

Le JSON est contrôlé strictement : le nombre 5 n’est pas la chaîne "5". C’est ce que font la plupart des API, et c’est la différence qu’une relecture à l’œil laisse passer.

Ce qui est contrôlé

  • Les champs obligatoires absents, à null ou vides.
  • Les types : chaîne, entier, nombre, booléen, date, date et heure (ISO 8601), email.
  • La longueur minimale et maximale des chaînes, le minimum et le maximum des nombres.
  • Les valeurs autorisées, pour les codes de statut et autres listes fermées.
  • Les champs que le format ne nomme pas, si vous choisissez de les refuser.

La différence avec JSON Schema

Cet outil n’est pas un validateur JSON Schema. Un format, ici, est une liste à plat de chemins avec un type et quelques limites, la même pour un JSON et pour un CSV. Il s’écrit et se relit plus vite, et il se compare d’une version à l’autre. Si votre API publie un JSON Schema avec des règles conditionnelles ou des références, utilisez un validateur JSON Schema.

Pour appliquer un format à chaque appel plutôt qu’à un message collé, créez un point de contrôle.

Questions

Peut-il déduire le format d’un exemple ?
Oui. Collez un message que vous savez accepté et utilisez « Déduire le format de cet exemple ». Les types et les champs obligatoires sont proposés, et les longueurs sont celles observées, à remplacer par les vraies limites.
Accepte-t-il un tableau d’objets ?
Oui. Chaque élément est contrôlé comme un enregistrement, et les problèmes sont signalés avec le numéro de l’élément.
Le message est-il envoyé quelque part ?
Non. Le contrôle se fait dans votre navigateur.