Aller au contenu
SDETRole
SDETRole

JSON et données

Validateur JSON

Vérifiez la syntaxe JSON et localisez précisément l’erreur.

Fonctionne entièrement dans votre navigateur Sans inscription

Input JSON

0 chars

À propos de cet outil

Une erreur de syntaxe dans un fichier de fixture ou un corps de requête est l’une des causes les plus fréquentes d’échec de test déroutant. Ce validateur contrôle le JSON selon la norme stricte et signale la première erreur avec sa ligne et sa colonne, ainsi qu’un résumé de la structure du document (objets, tableaux, clés et profondeur) lorsqu’il est valide. Pour valider la forme des données plutôt que leur syntaxe, utilisez le validateur JSON Schema.

Mode d’emploi

  1. Collez le JSON à vérifier.
  2. Lisez le bandeau de résultat : vert signifie valide, rouge affiche le message d’erreur et sa position.
  3. Corrigez à l’endroit indiqué ; le résultat se met à jour pendant la saisie.

Ce qui constitue un JSON valide

Le validateur applique la grammaire stricte de la RFC 8259, les mêmes règles que JSON.parse. Un document est une valeur unique : un objet, un tableau, une chaîne, un nombre, true, false ou null. Un simple "hello" ou 42 est donc du JSON valide, même si la plupart des API renvoient un objet.

Les clés en double sont un piège courant. La norme indique que les noms d’un objet DEVRAIENT être uniques sans interdire les répétitions, et JSON.parse garde silencieusement la dernière valeur. Une vérification de syntaxe ne signalera pas {"id": 1, "id": 2} : surveillez les doublons en revue de code ou avec un linter.

Lire le message d’erreur

Chaque navigateur formule différemment les erreurs d’analyse. Chrome affiche des messages comme « Unexpected token » ou « Expected property name » avec une position, et Firefox donne une ligne et une colonne. Dans tous les cas, la position est l’endroit où le parser a abandonné, généralement juste après la vraie erreur : une virgule manquante, un guillemet non fermé ou un crochet en trop sur la ligne précédente.

Valider du JSON dans les tests automatisés

  • Playwright : await response.json() lève une erreur quand le corps n’est pas du JSON valide, donc le test échoue à cette ligne. Vérifiez aussi response.headers()['content-type'], car un serveur peut envoyer du texte JSON étiqueté comme HTML.
  • REST Assured : vérifiez .contentType(ContentType.JSON), puis contrôlez la structure avec matchesJsonSchemaInClasspath("order-schema.json") du module json-schema-validator.
  • Postman : pm.response.json() lève une erreur sur du JSON invalide, et pm.response.to.be.json vérifie le content type.
  • Pour la forme et les types (champs obligatoires, formats, enums), passez au validateur JSON Schema. La validation syntaxique prouve seulement que le texte s’analyse.

FAQ : Validateur JSON

Quelle est la différence entre validation JSON et validation par schéma ?

La validation syntaxique vérifie que le texte est du JSON bien formé. La validation par schéma vérifie que ce JSON bien formé contient les champs, types et contraintes attendus, comme « id est un entier obligatoire ».

Pourquoi l’erreur pointe-t-elle après la vraie faute ?

Les parsers signalent l’endroit où ils ne pouvaient plus continuer. Une virgule ou un guillemet manquant se trouve généralement juste avant la position indiquée.

Saisissez un terme pour rechercher sur SDETRole.

Recherche plein texte par Pagefind · s’exécute dans votre navigateur Ouvrir la page de recherche →