Ce que fait un formateur JSON
Le JSON (JavaScript Object Notation) est le format le plus courant pour échanger des données entre programmes. Les API le renvoient en général sur une seule longue ligne sans espaces, car les espaces ajoutent des octets et l’ordinateur n’en a pas besoin. Les humains, si. Un formateur JSON ajoute sauts de ligne et indentation pour que vous voyiez la structure : quelles valeurs appartiennent à quel objet, où commence et où finit chaque tableau.
Cet outil fait trois choses :
- Formater transforme un JSON compact en JSON lisible et indenté.
- Minifier retire chaque espace et chaque saut de ligne qui ne se trouve pas dans une chaîne.
- Valider vérifie le JSON par rapport à la norme et signale le premier problème trouvé.
Mode d’emploi
- Collez votre JSON dans la zone de gauche. Il est formaté dès le collage. Vous pouvez aussi appuyer sur Ouvrir un fichier pour charger un fichier
.json, ou sur Exemple pour essayer un exemple. - Choisissez une Indentation : 2 espaces, 4 espaces ou tabulations.
- Appuyez sur Formater, Minifier ou Valider. Ctrl+Entrée relance la dernière action au clavier.
- Activez Trier les clés de A à Z si vous voulez des clés alphabétiques.
- Appuyez sur Copier, ou sur Télécharger pour enregistrer le résultat en fichier
.json.
Après le premier passage, le résultat se met à jour pendant la frappe : vous pouvez corriger un problème et le voir disparaître.
Avant et après
Voici une réponse d’API typique, sans espaces :
{"id":42,"name":"Ada Lovelace","active":true,"roles":["admin","editor"],"address":{"city":"London","zip":"NW1"},"score":98.50,"manager":null}
Après Formater avec 2 espaces :
{
"id": 42,
"name": "Ada Lovelace",
"active": true,
"roles": [
"admin",
"editor"
],
"address": {
"city": "London",
"zip": "NW1"
},
"score": 98.50,
"manager": null
}
Remarquez que 98.50 reste 98.50. Le formateur lit votre texte avec son propre analyseur et recopie les nombres caractère par caractère. Un grand identifiant comme 12345678901234567890 reste aussi exact, alors qu’un outil basé sur JSON.parse afficherait 12345678901234567000.
Avec Trier les clés de A à Z et 4 espaces, {"name":"Ada","age":36,"address":{"zip":"NW1","city":"London"}} devient :
{
"address": {
"city": "London",
"zip": "NW1"
},
"age": 36,
"name": "Ada"
}
Valider donne un court résumé pour une saisie valide. Pour le premier exemple, il indique : « JSON valide. La racine est un objet, avec 12 valeurs au total et 3 niveaux d’imbrication. »
Les messages d’erreur possibles
Quand le JSON est cassé, le message sous les zones donne la ligne et la colonne, et Afficher dans l’entrée place le curseur à cet endroit. Voici de vrais messages de l’outil :
| Erreur | Message |
|---|---|
| Virgule après le dernier élément | Ligne 4, colonne 1 : Une virgule finale avant « } » n’est pas autorisée |
| Guillemets simples | Ligne 1, colonne 2 : Un nom de propriété entre guillemets doubles était attendu, mais trouvé : un guillemet simple (les chaînes JSON demandent des guillemets doubles) |
| Virgule manquante entre deux éléments | Ligne 3, colonne 3 : « , » ou « } » était attendu après une valeur, mais trouvé : « “ » |
| Clé sans guillemets | Ligne 1, colonne 2 : Un nom de propriété entre guillemets doubles était attendu, mais trouvé : « n » |
Un commentaire // |
Ligne 2, colonne 3 : Les commentaires ne sont pas autorisés en JSON |
Ces règles viennent de la norme JSON. Les littéraux d’objet JavaScript acceptent les guillemets simples, les clés sans guillemets et les virgules finales, c’est pourquoi du code copié depuis un fichier .js échoue souvent ici. Si vos données sont vraiment du JavaScript, le formateur JavaScript convient mieux.
Conseils et limites
- JSON strict uniquement.
undefined,NaN, les commentaires et les virgules finales sont signalés comme des erreurs, car les autres programmes les refuseront aussi. - Les décimales s’écrivent avec un point. Un nombre saisi à la française comme
98,50n’est pas du JSON valide : la virgule sépare deux valeurs. - Les chaînes peuvent contenir des accents et tout caractère Unicode :
"ville": "Besançon"est parfaitement valide. - Les clés en double sont gardées telles quelles. Le formateur ne les fusionne ni ne les supprime.
- Minifier ne touche pas au contenu des chaînes, espaces internes compris.
- Pour vérifier un fichier entier, utilisez Ouvrir un fichier. Tout reste sur votre appareil.
Autres façons de formater du JSON
VS Code. Ouvrez un fichier .json et lancez Mettre en forme le document depuis la palette de commandes. VS Code utilise son formateur JSON intégré.
Ligne de commande avec jq. jq . data.json affiche le JSON formaté, et jq -c . data.json l’affiche compact. jq permet aussi de filtrer et de remodeler les données.
Ligne de commande avec Python. python -m json.tool data.json formate un fichier avec 4 espaces. Cela fait partie de la bibliothèque standard, donc fonctionne partout où Python est installé.
En JavaScript. JSON.stringify(JSON.parse(text), null, 2) formate une chaîne, mais passe par les nombres JavaScript, donc les longs identifiants peuvent perdre des chiffres.
Outils associés
Pour transformer du JSON en fichier de configuration, utilisez le convertisseur JSON en YAML. Pour intégrer du JSON dans une autre chaîne JSON, utilisez JSON stringify. Pour construire du JSON à partir d’un export de tableur, essayez le convertisseur CSV en JSON.