Comment utiliser le formateur JSON
- Collez votre JSON brut ou minifié dans la zone de saisie à gauche.
- Cliquez sur Formater pour embellir avec une indentation de 2 espaces, ou Minifier pour le compresser sur une ligne.
- Cliquez sur Valider pour vérifier la syntaxe sans modifier le JSON.
- Cliquez sur Copier pour copier la sortie dans le presse-papiers.
Formater, minifier ou valider : quelle différence ?
Formater (aussi appelé beautification ou pretty-printing) ajoute indentation et retours à la ligne. Les données ne changent pas, seul l'espace blanc est modifié. Le résultat est un JSON lisible, facile à parcourir et déboguer.
Minifier supprime tous les espaces superflus : espaces, tabulations, retours à la ligne. Un JSON minifié est plus petit et plus rapide à transmettre. Les réponses API sont généralement minifiées pour cette raison.
Valider vérifie si le JSON est syntaxiquement correct selon la spécification RFC 8259. Un message d'erreur indique la position exacte du problème, virgule manquante, chaîne non terminée, clé non entre guillemets, pour corriger rapidement.
Erreurs JSON courantes
- Virgule finale:
{"a":1,}est invalide en JSON. Supprimez la dernière virgule. - Clés sans guillemets:
{a:1}n'est pas du JSON. Les clés doivent être entre guillemets doubles :{"a":1}. - Guillemets simples: JSON exige des guillemets doubles pour les chaînes. Les guillemets simples ne sont pas autorisés.
- Commentaires: JSON n'a pas de syntaxe de commentaire. Supprimez tout
//ou/* */avant de valider. - NaN / Infinity: Ces valeurs JavaScript ne sont pas du JSON valide. Utilisez
nullà la place.
Quand utiliser chaque action ?
- Utilisez Formater pour lire une réponse API, revoir un fichier de config ou déboguer des données.
- Utilisez Minifier avant d'embarquer du JSON dans du code source ou de l'envoyer sur le réseau.
- Utilisez Valider quand une API rejette votre requête ou qu'un parseur lève une erreur inattendue.
Confidentialité
Tout le traitement s'effectue dans votre navigateur. Votre JSON ne quitte jamais votre appareil, rien n'est envoyé, stocké ou journalisé.
JSON n'est pas JavaScript, types qui n'existent pas en JSON
JSON est un sous-ensemble strict de la syntaxe JavaScript mais ne supporte pas plusieurs types JavaScript que les développeurs essaient régulièrement d'inclure :
- Les dates : JSON n'a pas de type date. La convention est les chaînes ISO 8601 (
"2024-06-05T12:00:00Z"), mais ce format ne fait pas partie du standard JSON. Chaque API et bibliothèque parse les dates différemment. - Infinity et NaN : Ces valeurs JavaScript ne sont pas du JSON valide. Remplacez-les par
nullou une chaîne sentinelle avant la sérialisation. - undefined : Les clés d'objet dont la valeur est
undefinedsont silencieusement omises parJSON.stringify. C'est une source fréquente de bugs de champs manquants. - Commentaires : Le JSON standard (RFC 8259) n'autorise pas les commentaires. Si vous en avez besoin, utilisez JSON5 ou JSONC (JSON with Comments, utilisé par les paramètres VS Code). Ces deux formats ne sont pas du JSON valide.
- Virgules finales : Autorisées en JavaScript, invalides en JSON. De nombreux éditeurs les signalent, mais certaines APIs rejettent silencieusement le payload.
Précision des grands nombres
Les nombres JSON ne sont pas typés, mais la plupart des parseurs utilisent des flottants IEEE 754 64 bits. Les entiers supérieurs à 253 - 1 (9 007 199 254 740 991) perdent leur précision lors du parsing avec JSON.parse en JavaScript. Les bases de données renvoient souvent des IDs sous forme de grands entiers, provoquant une corruption silencieuse des données dans le navigateur. La solution est de transmettre ces entiers sous forme de chaînes et de les parser avec une bibliothèque compatible BigInt.