Un formateur et validateur JSON qui reste dans votre navigateur
Le JSON est le format texte qu'échangent la plupart des API, des fichiers de configuration et des exports d'applications. Il ne connaît que six types de valeurs : objet, tableau, chaîne, nombre, booléen et null. Exemple : {"ville":"Nantes","codes":[44000,44100],"metro":false}.
Collez votre texte dans « Votre JSON », déposez un fichier .json sur la zone ou cliquez sur « Ouvrir un fichier ». La validation se fait pendant la frappe : soit « JSON valide. », soit un message qui donne la ligne, la colonne et la cause, avec un extrait où le caractère fautif est surligné. Le bouton « Aller à l'erreur » place le curseur dessus.
Mode d'emploi
- Choisissez le « Résultat » : « Formater », « Minifier » ou « JSON → CSV ».
- Réglez l'« Indentation » (2 espaces, 4 espaces ou tabulation) et, si besoin, cochez « Trier les clés (à tous les niveaux) ».
- Passez de « Texte » à « Arborescence » pour explorer les données.
- Cliquez sur « Copier » ou « Télécharger ». Les cases « Taille du JSON », « Taille du résultat », « Clés » et « Profondeur » donnent les statistiques.
Règles de syntaxe et erreurs fréquentes
Le JSON est plus strict que le JavaScript. Les clés et les chaînes s'écrivent entre guillemets doubles, les éléments sont séparés par des virgules, et rien ne doit suivre le dernier élément.
| Écrit | Problème | Correct |
|---|---|---|
{"a":1,} | virgule finale | {"a":1} |
{"a":'x'} | guillemets simples | {"a":"x"} |
{a:1} | clé sans guillemets | {"a":1} |
{"a":1} // note | commentaire interdit | {"a":1} |
{"a":NaN} | NaN et Infinity n'existent pas | {"a":null} |
Pour {"a":1,}, l'outil annonce « ligne 1, colonne 8 : virgule en trop avant « } » » : la colonne 8 est l'accolade qui arrive alors qu'une clé était attendue. Les positions sont calculées par l'outil lui-même, elles ne dépendent donc pas du navigateur.
La case « Réparation douce » corrige ces quatre fautes courantes dans un JSON écrit à la main : virgules finales, guillemets simples, clés sans guillemets, commentaires // et /* */. Chaque correction est listée avec sa ligne. Ainsi {a:'x', /*c*/ b:[1,2,],} devient {"a":"x","b":[1,2]} après six corrections. NaN et les autres erreurs restent signalées : à vous de trancher.
Formater ou minifier : à quoi ça sert
Formater ajoute retours à la ligne et indentation pour lire une réponse d'API ou relire un fichier de configuration. Minifier fait l'inverse : tout tient sur une ligne, sans espace inutile, pour réduire le poids d'un fichier envoyé sur le réseau. L'exemple réparé ci-dessus pèse 19 octets minifié et 41 octets formaté avec 2 espaces. Trier les clés aide à comparer deux versions d'un même fichier ligne à ligne.
« JSON → CSV » transforme un tableau d'objets à plat, comme [{"produit":"Café, 250 g","prix":4.5}], en tableau pour un tableur. Les cellules contenant une virgule ou un guillemet sont mises entre guillemets, selon la règle habituelle du CSV. Pour un tableur réglé en français, choisissez le séparateur « Point-virgule ».
Lire la vue arborescente et les chemins
Chaque objet affiche son nombre de clés et chaque tableau son nombre d'éléments. Les couleurs distinguent chaînes, nombres, booléens et null. Les nœuds se déplient un par un, par paquets de 200, ce qui garde la page fluide même avec un fichier de plusieurs mégaoctets. Un clic sur une clé affiche son chemin, par exemple $.users[1].name : le nom du deuxième utilisateur, car les tableaux commencent à 0. « Copier le chemin » le met dans le presse-papiers pour un script ou une requête JSONPath. La zone « Rechercher dans les clés et les valeurs » liste les nœuds trouvés ; un clic sur un chemin déplie l'arbre jusqu'à lui.
Confidentialité : tout est traitement local
Rien ne quitte votre ordinateur : pas d'envoi, pas d'enregistrement du contenu. Vous pouvez donc coller une réponse d'API avec des jetons ou un export de clients. Seuls vos réglages (indentation, séparateur, cases cochées) sont mémorisés dans le navigateur.
Questions fréquentes
Pourquoi mon grand identifiant change-t-il de valeur ?
Le navigateur lit les nombres avec une précision limitée : au-delà de 9 007 199 254 740 991 (2^53 − 1), les entiers sont arrondis. 12345678901234567890 devient 12345678901234567000. L'outil affiche un avertissement dans ce cas ; gardez ces identifiants entre guillemets.
Les caractères accentués et les emojis sont-ils conservés ?
Oui. Le résultat reste en UTF-8, « Noël » et « 東京 » ne sont pas transformés en séquences \u.
Quelle taille de fichier l'outil accepte-t-il ?
Jusqu'à 50 Mo à l'ouverture. Un fichier de 5 Mo se formate en moins de deux secondes sur un ordinateur récent.
Que fait l'outil des clés en double ?
Le JSON les tolère, mais seule la dernière valeur est gardée au formatage : {"a":1,"a":2} devient {"a":2}.