À propos de cet outil
Les réponses d’API et les payloads de logs arrivent généralement minifiés sur une seule ligne. Les formater facilite grandement la vérification des noms de champs, de l’imbrication et des valeurs quand vous écrivez des assertions ou des rapports de bug. Ce formateur analyse votre saisie avec le parser JSON natif du navigateur : ce qu’il accepte est exactement ce qu’acceptera JSON.parse dans votre code de test. Rien n’est envoyé ; la dernière saisie est conservée dans le stockage local de votre navigateur par commodité.
Mode d’emploi
- Collez du JSON dans le panneau de saisie, ou cliquez sur « Load sample » (charger un exemple).
- Choisissez un style d’indentation et, si vous le souhaitez, triez les clés par ordre alphabétique pour comparer plus facilement deux payloads.
- Copiez ou téléchargez le résultat formaté. Si la saisie est invalide, l’erreur indique la ligne et la colonne à corriger.
Corriger les erreurs de syntaxe JSON les plus courantes
La plupart des « JSON invalide » viennent de payloads écrits à la main ou copiés depuis du JavaScript. Voici les causes habituelles et leurs corrections :
- Virgule finale après le dernier élément, comme dans
{"a": 1,}ou[1, 2,]: supprimez la dernière virgule. - Chaînes ou clés entre apostrophes, comme dans
{'a': 1}: JSON n’accepte que les guillemets doubles. - Clés sans guillemets, comme dans
{a: 1}: chaque clé doit être une chaîne entre guillemets doubles. - Commentaires (
//ou/* */) : JSON n’a pas de syntaxe de commentaire. Supprimez-les, ou gardez la configuration commentée dans des fichiers JSONC ou JSON5 que votre outil lit explicitement. NaN,Infinityouundefinedcomme valeurs : ce n’est pas du JSON. Utiliseznull, un nombre ou une chaîne.- Un saut de ligne ou une tabulation bruts dans une chaîne : échappez-les en
\nou\t. - Deux documents collés ensemble, par exemple deux lignes de log NDJSON : formatez une ligne à la fois.
Indenter du JSON dans le code de test
Des payloads lisibles dans les rapports de test accélèrent nettement le diagnostic des échecs. En JavaScript et TypeScript, JSON.stringify(value, null, 2) indente avec deux espaces. Dans Playwright, vous pouvez joindre un corps formaté au rapport avec testInfo.attach('response', { body: JSON.stringify(json, null, 2), contentType: 'application/json' }).
En Java avec Jackson, utilisez mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj). En Python, json.dumps(obj, indent=2, sort_keys=True). En ligne de commande, jq . response.json formate et colore un fichier.
Les grands nombres perdent en précision
JSON n’impose aucune limite à la taille des nombres, mais JavaScript lit chaque nombre comme un flottant 64 bits. Les entiers supérieurs à 9 007 199 254 740 991 (2^53 − 1), comme certains ID de base de données, sont arrondis sans avertissement. Comme ce formateur utilise JSON.parse, ces ID apparaissent arrondis dans le résultat, et il en va de même dans le code de test exécuté dans le navigateur. Les API qui renvoient de grands ID devraient les envoyer en chaînes, et les tests devraient les comparer en chaînes.
FAQ : Formateur JSON
Qu’est-ce qu’un formateur JSON ?
Un formateur JSON, ou beautifier, prend du JSON compact ou désordonné et le réécrit avec une indentation et des retours à la ligne cohérents pour en rendre la structure lisible. Il ne modifie que les espaces, jamais les données. Les testeurs s’en servent pour lire des réponses d’API minifiées, comparer des payloads et coller des exemples propres dans des rapports de bug. Ce formateur sait aussi minifier le JSON et trier les clés, et il utilise le parser natif du navigateur : il accepte exactement ce que JSON.parse accepte.
Comment formater du JSON en ligne ?
Collez votre JSON dans le panneau de saisie ci-dessus, ou cliquez sur « Load sample » (charger un exemple). Un JSON valide est formaté immédiatement avec l’indentation choisie (2 espaces, 4 espaces ou tabulations), et vous pouvez copier le résultat. Si la saisie est invalide, l’outil affiche l’erreur du parser ainsi que la ligne et la colonne où l’analyse s’est arrêtée. Le formatage se fait entièrement dans votre navigateur : vous pouvez coller sans crainte des réponses d’API contenant des données de test.
Comment valider du JSON ?
Valider du JSON, c’est vérifier qu’il respecte les règles de syntaxe : clés et chaînes entre guillemets doubles, pas de virgule finale, pas de commentaires et des crochets correctement appariés. Le coller ici le valide automatiquement, car le formateur ne produit un résultat que pour du JSON valide. Pour vérifier qu’un JSON valide contient aussi les bons champs et types, utilisez la validation par schéma, par exemple le validateur JSON Schema. Dans le code, JSON.parse en JavaScript et json.loads en Python lèvent une erreur sur une saisie invalide.
Comment trouver les erreurs dans un fichier JSON ?
Collez le contenu ici et lisez la ligne et la colonne indiquées. Les parsers s’arrêtent là où ils ne peuvent plus continuer : la vraie erreur se trouve donc souvent juste avant cette position, qu’il s’agisse d’une virgule manquante entre deux propriétés, d’un guillemet ou d’un crochet non fermé, d’une virgule finale ou d’apostrophes au lieu de guillemets doubles. Corrigez la première erreur et revérifiez, car une erreur peut en masquer d’autres. Le validateur JSON est centré sur le signalement des erreurs pour les fichiers plus volumineux.
Quelle est la différence entre formatage et validation JSON ?
Le formatage change l’apparence du JSON (indentation, retours à la ligne et éventuellement ordre des clés) sans modifier ses données. La validation vérifie si le texte est bien du JSON correct, et la validation par schéma va plus loin en vérifiant que ce JSON correct contient les champs, types et valeurs attendus. Un formateur doit d’abord analyser le JSON, il valide donc la syntaxe au passage, mais il ne peut pas vous dire que price devrait être un nombre plutôt qu’une chaîne.
Existe-t-il un formateur JSON en ligne gratuit ?
Oui, celui-ci. Le formateur JSON de SDETRole est gratuit, sans inscription, et s’exécute entièrement dans votre navigateur : rien de ce que vous collez n’est envoyé, ce que vous pouvez vérifier dans l’onglet Réseau de votre navigateur. Il formate, minifie et valide le JSON et indique la ligne et la colonne des erreurs de syntaxe. Autres outils gratuits associés : le comparateur JSON pour comparer des payloads, le testeur JSONPath pour extraire des valeurs et le convertisseur JSON vers CSV.
Pourquoi mon JSON échoue-t-il avec des virgules finales ou des apostrophes ?
Le JSON strict (RFC 8259) n’autorise ni les virgules finales, ni les chaînes entre apostrophes, ni les commentaires, ni les clés sans guillemets. Ce sont des fonctionnalités des littéraux d’objet JavaScript. Supprimez-les, ou demandez au responsable de l’API de renvoyer du JSON valide.
Trier les clés change-t-il le sens du JSON ?
Non. L’ordre des clés d’un objet n’a aucune signification en JSON, donc le tri est sans risque pour comparer. L’ordre des tableaux, lui, est significatif et n’est jamais modifié.