Formateur et validateur JSON

Collez du JSON pour le formater, le valider ou le minifier. Les erreurs sont signalées avec ligne et colonne.

Indentation

Ce que fait ce formateur JSON

Cet outil prend n'importe quel texte JSON et soit le met en forme avec une indentation cohérente, soit le compresse en une seule ligne minifiée, soit vérifie simplement qu'il est valide. Lorsque l'entrée n'est pas du JSON valide, le validateur indique la ligne et la colonne exactes où l'analyse a échoué et montre les caractères environnants, de sorte que vous corrigez une virgule manquante ou une clé sans guillemets en quelques secondes au lieu de parcourir un mur de texte.

Tout se passe localement dans votre navigateur, avec l'analyseur JSON natif du moteur JavaScript. Le texte que vous collez n'est jamais envoyé à un serveur, ce qui rend l'outil sûr pour des réponses d'API, des fichiers de configuration, des journaux ou toute donnée contenant des jetons, des identifiants ou des informations personnelles.

Mode d'emploi

Collez ou tapez votre JSON dans la zone d'entrée. Le formatage s'exécute automatiquement pendant la saisie. Choisissez une indentation de 2 espaces, 4 espaces ou tabulations, et activez éventuellement « Trier les clés » pour ordonner les clés des objets par ordre alphabétique à chaque niveau d'imbrication, ce qui rend deux documents faciles à comparer avec un outil de diff. Cliquez sur « Minifier » pour retirer tous les blancs lorsque vous avez besoin de la charge utile la plus petite possible pour une requête HTTP ou une variable d'environnement. Utilisez « Copier » pour placer le résultat dans votre presse-papiers ou « Télécharger » pour l'enregistrer en fichier .json.

La barre d'état affiche la taille en octets, le nombre de clés d'objet et la profondeur d'imbrication maximale, un moyen rapide de vérifier un gros document avant de l'envoyer quelque part.

Erreurs JSON courantes que ce validateur détecte

Les virgules finales après le dernier élément d'un tableau ou d'un objet ne sont pas autorisées en JSON, même si la plupart des langages de programmation les acceptent. Les guillemets simples autour des chaînes ou des clés sont invalides : JSON exige des guillemets doubles. Les commentaires ne font pas partie de la spécification JSON, donc un bloc // ou /* */ échouera. Les clés sans guillemets comme {name: "x"} sont des littéraux d'objet JavaScript, pas du JSON. Les valeurs spéciales telles que NaN, Infinity et undefined n'existent pas en JSON. Chacune de ces erreurs produit un message clair avec une position à laquelle vous pouvez sauter.

En coulisses : d'où vient JSON

JSON (JavaScript Object Notation) a été spécifié par Douglas Crockford au début des années 2000 comme alternative légère à XML, en reprenant la syntaxe des littéraux d'objet que JavaScript possédait déjà. Il a été normalisé sous la référence RFC 4627 en 2006, puis comme ECMA-404 et RFC 8259 (2017), qui constitue la définition actuelle : six types de valeurs (objet, tableau, chaîne, nombre, true/false, null), UTF-8 comme encodage d'échange, et pas de commentaires. Son essor a suivi celui des applications côté navigateur : un format que le navigateur pouvait analyser nativement avec JSON.parse l'emportait sur tout ce qui exigeait un analyseur séparé.

Où on l'utilise

Presque toutes les API web renvoient du JSON, et c'est pourquoi la première chose à faire avec une réponse inconnue est de la coller dans un formateur pour en voir la structure. Les fichiers de configuration (package.json, tsconfig.json, réglages de VS Code), les définitions d'infrastructure (CloudFormation, état Terraform), les bases NoSQL (documents MongoDB, colonnes jsonb de PostgreSQL), les pipelines de journaux (un objet JSON par ligne en ndjson) et la charge utile d'un jeton JWT sont tous du JSON ; JSON voyage aussi dans les paramètres de requête d'URL, où il doit d'abord être encodé en pourcentage. Des formats apparentés l'étendent : JSON5 et JSONC ajoutent commentaires et virgules finales pour les fichiers de configuration, JSON Schema décrit la structure attendue, et JSON Lines diffuse de nombreux documents dans un seul fichier — tous rejetés par ce validateur en tant que JSON strict, à dessein.

Questions fréquentes

Mon JSON est-il envoyé quelque part ?

Non. Le formateur s'exécute entièrement dans votre navigateur. Vous pouvez vous déconnecter d'Internet après le chargement de la page, il continuera de fonctionner.

Quelle est la différence entre formater et minifier ?

Formater (embellir) ajoute des sauts de ligne et une indentation pour que les humains lisent la structure. Minifier supprime tous les blancs superflus pour que les données soient aussi petites que possible pour les machines. Les deux produisent un JSON sémantiquement identique.

Pourquoi l'outil dit-il que mon JSON est invalide alors qu'il fonctionne en JavaScript ?

Les littéraux d'objet JavaScript sont plus permissifs que JSON. Guillemets simples, clés sans guillemets, virgules finales et commentaires sont tous acceptés en code JavaScript mais interdits par la norme JSON (RFC 8259).

Y a-t-il une limite de taille ?

Il n'y a pas de limite fixe. Des documents de plusieurs mégaoctets se formatent instantanément sur un appareil moderne ; les très gros fichiers ne sont limités que par la mémoire de votre navigateur.

Trier les clés change-t-il le sens des données ?

Non. Les objets JSON sont non ordonnés par spécification, donc réordonner les clés produit un document équivalent. L'ordre des tableaux est toujours préservé, car les tableaux sont ordonnés.