Formateur et validateur JSON

Formatez, minifiez et validez du JSON, avec des messages d'erreur qui pointent exactement où la syntaxe est fautive. Tout se passe dans votre navigateur.

Cette page a été traduite de l'anglais avec l'aide de l'IA, puis vérifiée par rapport à l'original. Lire la version anglaise

  • Gratuit — Aucune inscription requise
  • Instantané — Les résultats s'affichent au fur et à mesure
  • Privé — Traité dans votre navigateur

Le JSON qui vous arrive d’une API, d’une ligne de log ou d’un fichier de configuration est en général soit minifié sur une seule ligne illisible, soit retouché à la main au point de ne plus être valide. Cet outil traite les deux cas avec le parseur intégré à votre navigateur : le résultat est donc exactement ce qu’accepterait n’importe quel runtime JavaScript.

Comment ça marche

Collez votre JSON dans le champ de saisie. En mode Formater, le texte est analysé par JSON.parse puis resérialisé par JSON.stringify avec l’indentation choisie (2 ou 4 espaces). Minifier effectue la même analyse mais sérialise sans le moindre espace, ce qu’il vous faut pour le corps d’une requête HTTP ou une variable d’environnement. Dans les deux cas, la sortie est une nouvelle sérialisation de la valeur analysée, et non une simple retouche des espaces de votre texte : sa validité est donc garantie.

Si l’analyse échoue, vous obtenez le message du parseur lui-même. Lorsque le navigateur indique une position en caractères, l’outil la convertit en numéro de ligne et de colonne pour que vous alliez droit à l’erreur. Chromium et Firefox fournissent cette position ; d’autres moteurs se contentent de décrire le problème, et vous voyez alors le message sans position.

Copier place le résultat dans le presse-papiers ; Télécharger l’enregistre sous data.json. Rien n’est envoyé sur un serveur, et l’outil continue de fonctionner hors ligne une fois la page chargée.

Ce que la resérialisation modifie

Comme la sortie est reconstruite à partir de la valeur analysée, certains éléments sont normalisés, et mieux vaut savoir lesquels :

  • Les nombres sont écrits sous leur forme JavaScript canonique : 1.0 devient 1, 1e2 devient 100, et les entiers au-delà de 2⁵³ perdent en précision. Ne faites passer par aucun formateur JavaScript les identifiants de base de données sur 64 bits ni les montants financiers stockés sous forme de grands entiers ; conservez-les en chaînes de caractères.
  • Les clés en double sont fusionnées : la dernière valeur l’emporte, sans avertissement.
  • Les séquences d’échappement des chaînes sont résolues. "\u00e9" ressort sous la forme "é", et "\/" devient "/". Le sens est identique, les octets ne le sont pas.
  • L’ordre des clés est conservé tel qu’écrit, à une exception près : les clés qui ressemblent à des entiers, comme "1", passent en tête, car les objets JavaScript trient ces clés par ordre numérique.

Rien de tout cela ne change ce que lira un consommateur de ces données. En revanche, si vous comparez des fichiers ou vérifiez une signature calculée sur le texte brut, formatez une copie plutôt que l’original.

Lire le message d’erreur

La plupart des messages « unexpected token » ont l’une de ces trois causes : une virgule en trop après le dernier élément, des guillemets simples au lieu de guillemets doubles, ou une clé sans guillemets. JSON n’accepte pas non plus les commentaires ; si vous collez le contenu d’un fichier .jsonc ou d’un fichier JavaScript, supprimez-les d’abord. Un message signalant une fin de saisie inattendue indique presque toujours qu’un crochet ou une accolade n’a jamais été fermé ; la position indiquée est alors la fin du texte, donc comptez vos fermetures.

La même opération d’analyse puis de réécriture existe en ligne de commande avec jq, bien pratique pour les fichiers trop volumineux pour être collés :

jq . response.json        # pretty-print with 2-space indent
jq -c . response.json     # minify to a single line

Pour aller plus loin

Un JSON bien structuré ne fait pas à lui seul une bonne API. Construire des API REST avec Spring Boot montre comment le serveur sérialise les objets, gère les valeurs nulles et les dates, et renvoie des corps d’erreur qui sont eux-mêmes du JSON valide, tandis que Concevoir une API REST aborde le nommage, la pagination et le versioning pour que les payloads que vous formatez ici soient cohérents dès le départ. Pour décoder le JSON contenu dans un jeton, utilisez le décodeur JWT, qui applique la même mise en forme à l’en-tête et au payload.

FAQ

Mes données JSON sont-elles envoyées à un serveur ?
Non. Le formatage, la minification et la validation se font entièrement dans votre navigateur grâce à l'analyseur JSON intégré — vos données ne quittent jamais votre appareil.
Quelle est la différence entre formater et minifier ?
Le formatage ajoute une indentation et des sauts de ligne pour rendre le JSON facile à lire. La minification supprime tous les espaces inutiles pour produire le résultat le plus compact possible.
Pourquoi mon JSON est-il signalé comme invalide ?
Le validateur indique la ligne et la colonne exactes où l'analyse a échoué — les causes courantes sont les virgules en trop, les clés non entre guillemets, ou des guillemets simples au lieu de guillemets doubles.