Validez le JSON avant les requêtes API
Une passe de validation rapide avant d’envoyer une requête API permet de séparer les problèmes de syntaxe JSON des erreurs d’authentification, de schéma et de back-end.
Pourquoi valider avant d’envoyer
Quand une requête API échoue, le message d’erreur peut pointer vers l’authentification, les permissions, la validation de schéma ou du JSON mal formé. Valider le corps JSON d’abord élimine toute une classe d’échecs avant que la requête n’atteigne le serveur. Cela rend aussi plus faciles à relire les commandes cURL copiées, les corps Postman, les samples de webhook et les tests d’intégration.
Contrôles de syntaxe à effectuer
Une passe stricte de validation JSON doit confirmer que le corps parse comme du JSON et que la sortie formatée correspond à ce que vous comptez envoyer.
- Chaque chaîne et clé d’objet utilise des guillemets doubles
- Pas de commentaires ni de virgules finales
- Les booléens sont true ou false, pas True ou False
- Les valeurs absentes sont null ou des clés omises, pas undefined
- La valeur de premier niveau correspond aux attentes du endpoint
Les en-têtes comptent aussi
Un corps JSON valide peut encore échouer si la requête n’annonce pas le bon content type. Pour la plupart des APIs JSON, envoyez Content-Type: application/json. Si le endpoint vérifie aussi le Accept, ajoutez Accept: application/json pour que client et serveur s’accordent sur le format.
Corps de requête cassé
{ userId: 42, active: True, tags: ['beta',], }
Corps de requête corrigé
{ "userId": 42, "active": true, "tags": ["beta"] }
Après la validation syntaxique
La validation syntaxique prouve seulement que le document est parsable. Pour les requêtes en production, vérifiez aussi le schéma : champs obligatoires, champs inconnus, types de valeurs, longueurs de tableau, valeurs d’enum, chaînes de date, et si les identifiants numériques doivent être des nombres ou des chaînes.
Astuce de débogage
Si le serveur rejette toujours un JSON valide, comparez le corps de requête formaté à un exemple connu. Un diff JSON sémantique trouve les vrais changements de valeurs en ignorant l’ordre des clés, particulièrement utile quand les payloads sont générés par différents outils.
Un petit wrapper fetch + Ajv
Validez le corps de la réponse contre un schéma connu avant de le passer à votre code applicatif. Compilez le schéma une fois au chargement du module, puis protégez chaque appel : const validate = ajv.compile(schema); const res = await fetch(url); const data = await res.json(); if (!validate(data)) throw new Error("Schema mismatch: " + ajv.errorsText(validate.errors)); return data; — les ruptures de contrat amont remontent ainsi à la frontière et pas cinq couches plus loin.
Guides de réparation JSON
Pôles thématiques
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Guides spécifiques
- Comment décoder des chaînes Base64 (et des payloads JWT)
- Encodage URL : encodez les paramètres de requête et les chemins
- Convertir YAML en JSON (et éviter les erreurs d’indentation)
- Convertir JSON en CSV : aplatir un tableau d’objets
- Convertir JSON en XML : racine, attributs et tableaux
- Échapper du JSON comme littéral de chaîne (et décoder du JSON doublement encodé)
- Corriger les virgules finales en JSON
- Corriger les guillemets simples en JSON
- Corriger les clés sans guillemets en JSON
- Réparer le JSON produit par un LLM
- Corriger l’erreur de parse JSON : Expected Property Name
- JSON vs littéral d’objet JavaScript
- Formateur JSON vs JSON Repair
- Corriger les erreurs JSON Unexpected Token
- Convertisseur JSON vers objet JavaScript