À propos de l’outil Formateur et validateur JSON
JSON est le format de tous les jours des API, des fichiers de configuration et des journaux, et une seule virgule manquante ou un guillemet égaré rend tout un document illisible pour un programme. Cet outil vérifie le JSON selon la norme stricte (RFC 8259), vous indique exactement où se trouve le premier problème et transforme un JSON valide en texte proprement indenté – ou le minifie sous sa forme la plus compacte.
Beaucoup de formateurs en ligne passent votre texte par JSON.parse et JSON.stringify, qui arrondissent sans prévenir les grands entiers, raccourcissent 1.10 en 1.1, réécrivent les séquences d’échappement et ne gardent que la dernière de deux clés en double. Cet outil utilise plutôt son propre analyseur : chaque nombre et chaque chaîne sont réécrits exactement tels qu’ils apparaissaient, et les clés en double sont signalées au lieu d’être supprimées.
Tout fonctionne localement dans votre navigateur. Le texte que vous collez et les fichiers que vous ouvrez sont traités sur votre appareil et ne sont envoyés nulle part.
Mode d’emploi
- Collez votre JSON dans la zone « Entrée JSON », cliquez sur « Charger un exemple » pour essayer l’outil, ou utilisez « Ouvrir un fichier » pour charger un fichier .json ou .txt de 20 MB maximum.
- Lisez le message d’état : « JSON valide » avec un résumé du contenu, ou « JSON non valide » avec la ligne, la colonne et un extrait qui montre le problème. Cliquez sur « Aller à l’erreur » pour sélectionner cet endroit dans l’entrée.
- Choisissez l’indentation (2 espaces, 4 espaces ou tabulation) et cochez « Trier les clés de A à Z » si vous voulez les clés des objets dans l’ordre alphabétique.
- Cliquez sur « Formater » pour un résultat indenté ou sur « Minifier » pour retirer tous les blancs facultatifs. Tant que l’entrée fait moins de 1 MB, le résultat suit automatiquement vos modifications et vos changements d’options.
- Utilisez « Copier le résultat » ou « Télécharger .json » pour emporter le résultat.
- Pour les entrées de plus de 1 MB, cliquez sur « Valider », « Formater » ou « Minifier » : ces entrées ne sont pas vérifiées pendant la saisie, afin que la page reste réactive.
Fonctionnalités
- Des messages d’erreur utiles: La première erreur de syntaxe s’affiche avec sa ligne, sa colonne et sa position en caractères, ainsi qu’un extrait du code avec un repère sous l’erreur. Les erreurs courantes – virgules finales, guillemets simples, commentaires, clés sans guillemets, NaN, zéros en tête, sauts de ligne non échappés dans les chaînes – reçoivent une explication précise.
- Un formatage sans perte: Les nombres gardent tous leurs chiffres (12345678901234567890 reste exact, 1.10 garde son zéro final) et les chaînes gardent leurs séquences d’échappement : le formatage ne change jamais le sens du document.
- Détection des clés en double: Les clés présentes deux fois dans le même objet sont listées avec leur position. Les deux entrées restent dans le résultat, pour que rien ne disparaisse à votre insu.
- Formater, minifier et trier: Indentez avec 2 espaces, 4 espaces ou des tabulations, ou minifiez. Le tri classe les clés des objets à tous les niveaux ; les tableaux gardent leur ordre.
- Statistiques du document: Consultez la taille en octets, la profondeur d’imbrication, le nombre de clés et de valeurs, et le nombre d’objets, de tableaux, de chaînes, de nombres, de booléens et de null que contient le document.
Exemples
Trouver une virgule finale dans les données d’une API
Si vous collez {"name": "Ada", "tags": ["math", "poetry",]}, l’outil signale que les virgules finales ne sont pas autorisées en JSON, à la ligne 1, colonne 42, avec le repère sous la virgule en trop. Supprimez-la et l’état passe à « JSON valide ».
Garder intacts les grands identifiants
En JavaScript, JSON.parse transforme {"id": 9007199254740993} en 9007199254740992. Ici, le formatage conserve 9007199254740993 et ajoute une remarque : ce nombre dépasse la plage que de nombreux analyseurs peuvent représenter exactement.
Comparer deux fichiers de configuration
Formatez les deux fichiers avec « Trier les clés de A à Z » et la même indentation, puis comparez-les avec un outil de diff. Les différences d’ordre des clés et de blancs disparaissent, et seuls les vrais changements restent.
Alléger le corps d’une requête
Cliquez sur « Minifier » sur un JSON joliment indenté pour retirer l’indentation et les sauts de ligne. La case « Variation » indique combien d’octets ont été gagnés par rapport à l’entrée.
Limites et remarques
- Seul le JSON strict est accepté. Les commentaires, les virgules finales, les chaînes entre guillemets simples, NaN, Infinity et les autres extensions JSON5 ou JSONC sont signalés comme des erreurs ; l’outil ne les corrige pas automatiquement.
- Seule la première erreur de syntaxe est signalée. Une fois corrigée, la suivante (s’il y en a une) apparaît.
- L’imbrication est limitée à 10 000 niveaux d’objets et de tableaux, et les résultats à 200 millions de caractères.
- Les fichiers doivent être encodés en UTF-8 et ne pas dépasser 20 MB. Les entrées de plus de 1 MB sont vérifiées à la demande, et les très grands résultats s’affichent sous forme d’aperçu dans la zone – « Copier le résultat » et « Télécharger .json » utilisent toujours le résultat complet.
- « Trier les clés de A à Z » compare les clés selon leurs unités de code UTF-16, dans le même ordre que le tri par défaut de JavaScript : les majuscules passent avant les minuscules, et l’ordre ne tient pas compte de la langue.
- Les numéros de colonne comptent les unités de code UTF-16 : un emoji ou un autre caractère situé hors du plan multilingue de base compte donc pour deux colonnes, comme dans de nombreux éditeurs de code.
Questions fréquentes
Pourquoi l’erreur est-elle signalée sur la ligne qui suit ma véritable faute ?
L’analyseur signale le premier endroit où le texte ne peut plus être du JSON valide. Une virgule manquante, par exemple, n’est détectée qu’au début de la valeur suivante, et un crochet fermant manquant n’est détecté qu’à la fin de l’entrée. Le message indique ce qui était attendu, ce qui mène généralement à la vraie cause.
Le formatage modifie-t-il mes nombres ou mes chaînes ?
Non. L’outil conserve le texte exact de chaque nombre et de chaque chaîne de votre entrée : les grands entiers, les zéros finaux, les exposants comme 1E+2 et les séquences d’échappement comme \u00e9 ressortent exactement comme ils sont entrés. Seuls les blancs (et l’ordre des clés, si vous choisissez « Trier les clés de A à Z ») changent.
Les clés en double sont-elles autorisées en JSON ?
La norme JSON indique que les noms d’un objet devraient être uniques, mais elle n’interdit pas les doublons, et les analyseurs les traitent différemment – la plupart ne gardent que la dernière valeur. Cet outil les accepte, vous avertit avec leur emplacement exact et conserve chaque entrée dans le résultat formaté.
Peut-il lire du JSON avec commentaires (JSONC) ou du JSON5 ?
Non. Ces formats sont des extensions utilisées par certains éditeurs et outils, et ce n’est pas du JSON valide. L’outil vous montre le commentaire, la virgule finale ou le guillemet simple pour que vous puissiez le retirer.
Mon JSON est-il envoyé à un serveur ?
Non. L’analyse et le formatage s’exécutent en JavaScript sur cette page, et les fichiers sont lus directement depuis votre appareil. Rien de ce que vous collez ou ouvrez n’est envoyé sur le réseau.