Comment utiliser le formateur JSON
- Collez votre JSON dans la zone de saisie, ou tapez-le directement.
- Choisissez un style d'indentation : 2 espaces, 4 espaces ou tabulations.
- Cliquez sur Formater pour obtenir un affichage lisible, ou sur Minifier pour supprimer tous les espaces facultatifs.
- Si l'entrée n'est pas valide, le validateur affiche le message d'erreur ainsi que la ligne et la colonne où l'analyse a échoué.
- Si vous le souhaitez, activez Trier les clés pour classer les clés des objets par ordre alphabétique, ou convertissez le résultat en YAML ou en CSV.
- Copiez le résultat et collez-le là où vous en avez besoin.
Tout s'exécute dans votre navigateur : votre JSON n'est jamais envoyé à un serveur ni enregistré. Vous pouvez donc formater sans risque des réponses d'API, des fichiers de configuration et des journaux contenant des données privées.
Qu'est-ce que le JSON et pourquoi le formater ?
JSON (JavaScript Object Notation) est un format de données léger, basé sur du texte, normalisé par la RFC 8259 et l'ECMA-404. Il repose sur seulement six types de valeurs : les objets ({}), les tableaux ([]), les chaînes, les nombres, les booléens true et false, et null. C'est grâce à cette simplicité que presque toutes les API REST, de nombreux fichiers de configuration et d'innombrables chaînes de traitement de journaux l'utilisent.
Les machines ne se soucient pas des espaces : le JSON envoyé sur le réseau est donc souvent minifié sur une seule ligne. C'est efficace, mais presque illisible pour un humain. Le formatage ajoute des retours à la ligne et une indentation cohérente pour que vous voyiez l'imbrication d'un coup d'œil, repériez un champ manquant et compariez deux documents dans un diff. La minification fait l'inverse : elle est utile pour intégrer du JSON dans une requête ou réduire la taille des données envoyées.
Erreurs JSON courantes et comment les corriger
Le JSON est plus strict que les littéraux d'objet JavaScript. Voici les erreurs que le validateur détecte le plus souvent :
| Problème | Invalide | Valide |
|---|---|---|
| Virgule finale | [1, 2, 3,] | [1, 2, 3] |
| Guillemets simples | {'name': 'Ada'} | {"name": "Ada"} |
| Clé sans guillemets | {name: "Ada"} | {"name": "Ada"} |
| Commentaires | // note ou /* note */ | Supprimez-les, ou utilisez un champ "_comment" |
| Valeurs non JSON | undefined, NaN, Infinity | null ou une chaîne |
| Zéros en tête | {"id": 007} | {"id": 7} ou "007" |
Voici un extrait cassé typique, copié depuis du code JavaScript :
{
name: 'Ada Lovelace',
born: 1815, // year
languages: ['English', 'French',],
}
Le JSON corrigé entoure chaque clé et chaque chaîne de guillemets doubles, supprime le commentaire et retire les deux virgules finales :
{
"name": "Ada Lovelace",
"born": 1815,
"languages": ["English", "French"]
}
D'autres causes fréquentes sont les guillemets doubles non échappés ou les retours à la ligne bruts dans les chaînes (utilisez \" et \n), ainsi qu'un caractère parasite après le crochet ou l'accolade de fermeture. Si la position signalée semble fausse, vérifiez la ligne juste au-dessus : une virgule manquante n'est généralement détectée que lorsque l'analyseur atteint la valeur suivante.
Conseils et bonnes pratiques
- Choisissez une indentation et tenez-vous-y. L'indentation à deux espaces est la convention la plus courante dans les projets JavaScript ; celle à quatre espaces est fréquente dans les outils Python. La cohérence compte plus que le choix lui-même.
- Triez les clés avant de comparer. Les objets JSON ne sont pas ordonnés : deux documents équivalents peuvent donc sembler différents. Trier les clés rend les diffs de gestion de versions et les comparaisons bien plus lisibles.
- Attention aux très grands nombres. JavaScript stocke les nombres en virgule flottante 64 bits : les entiers supérieurs à 9 007 199 254 740 991 (253 − 1) peuvent perdre en précision lorsqu'ils sont analysés dans un navigateur. Envoyez les grands identifiants sous forme de chaînes.
- Utilisez UTF-8. La RFC 8259 impose UTF-8 pour le JSON échangé entre systèmes.
- Convertissez quand c'est utile. Le CSV convient à un tableau plat d'objets que vous souhaitez ouvrir dans un tableur ; le YAML est plus facile à modifier à la main. Pour une conversion dans les deux sens, essayez le convertisseur JSON ↔ YAML ou le convertisseur CSV ↔ JSON.
Questions fréquentes
Le JSON autorise-t-il les commentaires ?
Non. Ni la RFC 8259 ni l'ECMA-404 n'autorisent les commentaires. Certains outils acceptent des formats étendus comme JSONC ou JSON5, mais un analyseur standard les rejettera. Supprimez les commentaires avant la validation, ou déplacez vos notes dans un champ ordinaire.
Pourquoi mon JSON est-il invalide alors qu'il fonctionne en JavaScript ?
Les littéraux d'objet JavaScript acceptent les guillemets simples, les clés sans guillemets, les virgules finales, les commentaires et des valeurs comme undefined. Le JSON n'accepte rien de tout cela. Dans votre code, utilisez JSON.stringify() pour produire du JSON valide au lieu de l'écrire à la main.
Le formatage modifie-t-il mes données ?
Le formatage et la minification ne modifient que les espaces entre les éléments ; les clés, les valeurs et l'ordre des tableaux restent identiques. Le tri des clés réorganise les membres des objets, ce qui ne change pas leur sens, car les objets JSON ne sont pas ordonnés.
Quelle est la différence entre formater et valider ?
Valider consiste à vérifier que le texte est du JSON syntaxiquement correct. Formater consiste à réafficher un JSON valide avec une indentation lisible. Le formateur valide d'abord : vous ne pouvez donc pas formater un document qui ne peut pas être analysé.
Puis-je convertir du JSON imbriqué en CSV ?
Le CSV est un format tabulaire à plat : il fonctionne donc mieux avec un tableau d'objets qui partagent les mêmes clés. Les objets et tableaux imbriqués n'ont pas d'équivalent direct en CSV et sont généralement aplatis ou sérialisés dans une seule cellule.
Mis à jour
Commentaires
Connectez-vous pour noter cet outil.
Partagez une astuce, posez une question ou racontez comment l’outil a fonctionné pour vous.
Aucun commentaire pour l’instant. Soyez le premier à raconter votre expérience.