RevealTheme logo

Formateur et validateur JSON

Formatez, embellissez, validez et minifiez du JSON. S'exécute intégralement dans votre navigateur, de sorte que vos données ne quittent jamais votre appareil.

Comment utiliser cet outil

  1. 1

    Collez votre JSON dans le champ de saisie.

  2. 2

    Cliquez sur Formater pour l'afficher avec indentation et lisible, ou sur Minifier pour supprimer les espaces.

  3. 3

    Les erreurs indiquent la ligne et la colonne exactes où l'analyse a échoué.

  4. 4

    Copiez le résultat dans votre presse-papiers.

Qu'est-ce que le JSON et pourquoi le formater est-il important ?

Le JSON (JavaScript Object Notation) est la lingua franca des API web modernes, des fichiers de configuration et de la journalisation structurée d'événements. Chaque API REST et GraphQL renvoie du JSON ; chaque package.json, tsconfig.json et la plupart des configurations de CI sont du JSON ; AWS, GCP et Azure parlent JSON dans leurs CLI. La force du JSON réside dans sa grammaire minimale : six caractères structurels ({}, [], virgule, deux-points, guillemets), quatre types primitifs (chaîne, nombre, booléen et null) et l'imbrication récursive. Ce minimalisme est aussi son inconvénient : le JSON n'admet ni commentaires, ni virgules finales, ni clés sans guillemets, ni chaînes multilignes. Un seul guillemet ou une seule virgule mal placés cassent l'ensemble du document. Cet outil valide la saisie selon la RFC 8259 (la spécification du JSON), puis la présente avec une indentation cohérente pour la lecture, ou supprime tous les espaces pour la transmission réseau. L'analyse et le formatage s'exécutent entièrement dans votre navigateur via les fonctions natives JSON.parse et JSON.stringify du moteur JavaScript, le même code qui s'exécute sur les serveurs Node.js et dans tous les navigateurs. Cela signifie que vos données ne transitent jamais par le réseau et que le comportement de validation ici correspond exactement à celui que verra votre code en production.

Cas d'usage courants

  • Déboguez les réponses d'API en les collant dans le formateur : voyez instantanément la structure que le JSON minifié masque.

  • Validez le JSON avant de l'envoyer à un consommateur strict (AWS CloudFormation, manifestes Kubernetes, etc.).

  • Mettez en forme de façon lisible les journaux des bibliothèques de logging structuré (Pino, Bunyan) qui émettent du JSON sur une seule ligne.

  • Minifiez les fichiers de configuration avant de les intégrer dans du HTML ou des variables d'environnement (plus petits, moins d'octets à analyser).

  • Mettez en forme les charges utiles de JSON Web Token après les avoir décodées depuis base64.

  • Comparez deux réponses d'API en les formatant toutes les deux et en calculant leurs différences.

Questions fréquentes

Mon JSON quitte-t-il le navigateur ?
Non. Toute l'analyse et le formatage s'effectuent dans votre navigateur via les fonctions intégrées JSON.parse et JSON.stringify. Les données n'atteignent jamais un serveur et n'apparaissent dans aucun journal. Vous pouvez donc l'utiliser en toute sécurité avec des réponses d'API contenant des jetons, des données clients ou d'autres secrets.
Puis-je formater du JSON5 ou du JSONC (avec commentaires) ?
Non : cet outil suit la spécification stricte du JSON (RFC 8259). Les commentaires et les virgules finales sont des erreurs de syntaxe et produiront un message d'erreur de l'analyseur. Pour des variantes flexibles du JSON, utilisez un analyseur JSON5 comme json5.org, ou faites passer votre saisie par un préprocesseur qui supprime d'abord les commentaires.
Quelle taille d'indentation dois-je utiliser ?
2 espaces est la convention de JavaScript et du web, et la plus universelle. 4 espaces est la valeur par défaut de l'écosystème Python (conforme à l'indentation de la PEP 8). Les tabulations sont rendues de façon incohérente d'un éditeur à l'autre et cassent les outils de comparaison ; évitez-les, sauf si votre équipe a une convention stricte de tabulation. Le choix est purement esthétique ; les analyseurs s'en moquent.
Pourquoi le JSON minifié est-il important ?
Le JSON minifié économise des octets, ce qui est significatif à grande échelle (par exemple, une API publique qui renvoie 100 Ko de données à des millions de requêtes). Pour les petits fichiers de configuration (de quelques Ko), la différence est négligeable. Les temps d'analyse du navigateur sont identiques pour du JSON formaté et minifié, de sorte que la seule raison de minifier est la bande passante.
Comment interpréter les messages d'erreur ?
Les messages d'erreur de JSON.parse de JavaScript incluent la position (décalage depuis le début) où l'analyse a échoué. Erreurs courantes : « Unexpected token » indique généralement un guillemet ou une virgule manquant, ou un caractère spécial non échappé. « Unexpected end of JSON input » signifie que le document est tronqué. « Unexpected non-whitespace character » indique souvent une virgule finale.
Puis-je formater des fichiers JSON très volumineux ?
Le JSON.parse du navigateur gère des fichiers jusqu'à environ 100 Mo avant que les performances ne deviennent problématiques. Pour des fichiers plus volumineux, utilisez jq en ligne de commande : il peut traiter en flux des fichiers JSON arbitrairement grands.
Quelle est la différence entre le JSON et les objets littéraux de JavaScript ?
Le JSON est un sous-ensemble strict de la syntaxe des objets littéraux de JavaScript. Différences : les clés JSON doivent être des chaînes entre guillemets doubles (JS autorise les clés sans guillemets et les guillemets simples) ; le JSON interdit les commentaires, les virgules finales et undefined ; le JSON n'a ni expressions, ni appels de fonction, ni valeurs calculées. JavaScript peut évaluer du JSON en toute sécurité ; le JSON ne peut pas évaluer du JavaScript arbitraire.

Outils connexes