{ } · 2 / 4 / tab · minify
Formateur et validateur JSON
Un formateur JSON ajoute l’indentation à du JSON compact : un document de 60 octets passe à 86 octets avec 2 espaces et à 102 octets avec 4. Collez du JSON pour obtenir un texte formaté ou minifié, ou la ligne et la colonne de la première erreur.
- {"a": 1,} → 1:8
- 12345678901234567890 → 12345678901234567000
- 60 B → 86 B (2) → 102 B (4)
Tout s’exécute dans cet onglet et rien n’est envoyé. L’analyseur suit la RFC 8259 : les commentaires, les apostrophes, les virgules finales et les clés sans guillemets sont donc signalés comme des erreurs.
Scanned by NortonTM Safe Web
En bref
- Prix
- Sans frais
- Compte
- Aucun requis
- Norme
- RFC 8259 (JSON)
- Limites
- 5 Mo de saisie, 512 niveaux d’imbrication
- Sortie
- 2 espaces, 4 espaces, tabulation ou minifié, clés triées en option
- Envoi
- Aucun — le texte reste dans l’onglet de votre navigateur
Erreurs JSON et précision des nombres
Ces chiffres proviennent de l’analyseur utilisé par cette page. Les lignes et les colonnes sont numérotées à partir de 1.
| Document | Code de la raison | Ligne:colonne |
|---|---|---|
| {"a": 1,} | trailing_comma | 1:8 |
| {'a': 1} | single_quotes | 1:2 |
| [1, 2 | unexpected_end | 1:6 |
| {"a": 01} | bad_number | 1:8 |
| {"a": "x\q"} | bad_escape | 1:9 |
| {"a": 1 "b": 2} | missing_comma | 1:9 |
| Nombre tel qu’écrit | Valeur renvoyée par JSON.parse |
|---|---|
| 12345678901234567890 | 12345678901234567000 |
| 9007199254740993 | 9007199254740992 |
| 1.0000000000000001 | 1 |
| 1E400 | Infinity |
Comment formater du JSON
Collez votre JSON
Saisissez ou collez un document JSON de 5 Mo maximum dans la zone de saisie. Un exemple y figure déjà pour que vous voyiez d’abord le résultat.
Choisissez la sortie
Sélectionnez 2 espaces, 4 espaces, une tabulation ou la forme minifiée. Cochez la case pour trier les clés de chaque objet selon l’ordre des unités de code.
Copiez ou corrigez
Copiez ou téléchargez le résultat. Si le JSON est invalide, le message donne la ligne, la colonne et la raison, et un accent circonflexe marque l’endroit dans la ligne en cause.
Comment fonctionne le formateur JSON
La page lit votre texte avec son propre analyseur pour la grammaire JSON de la RFC 8259, puis le réécrit avec l’indentation choisie. Comme l’analyseur fait partie de la page, tous les navigateurs affichent le même message pour la même erreur. JSON.parse, intégré aux navigateurs, formule ses erreurs différemment dans Chrome, Firefox et Safari, et toutes n’indiquent pas une ligne et une colonne.
Les nombres et les séquences d’échappement sont recopiés exactement comme vous les avez saisis. JSON.parse transforme 12345678901234567890 en 12345678901234567000, car un nombre JavaScript est un flottant 64 bits d’environ 15 à 17 chiffres significatifs. Cette page garde les 20 chiffres et vous signale quand un nombre serait arrondi. La RFC 8259 indique que les noms d’un objet devraient être uniques : les clés en double sont donc conservées et signalées. Les limites sont 5 Mo de saisie et 512 niveaux d’imbrication.
Questions sur le formateur JSON
Comment formater du JSON en ligne ?
Collez le JSON dans la zone de saisie. Le texte formaté apparaît aussitôt, avec 2 espaces, 4 espaces ou une tabulation par niveau. L’exemple de 60 octets passe à 86 octets avec 2 espaces et à 102 octets avec 4 espaces.
Que signifie « unexpected token » et où se trouve mon erreur ?
Cela signifie que l’analyseur a rencontré un caractère que la grammaire JSON n’autorise pas à cet endroit. Cette page indique la raison, la ligne et la colonne. Pour {"a": 1,}, elle signale trailing_comma à la ligne 1, colonne 8.
Pourquoi une virgule finale est-elle une erreur en JSON ?
La grammaire de la RFC 8259 exige une valeur après chaque virgule : [1, 2,] et {"a": 1,} sont donc invalides. Les littéraux d’objet JavaScript acceptent une virgule finale, mais pas JSON. Supprimez la dernière virgule.
Le JSON peut-il contenir des commentaires ou des apostrophes ?
Non. La RFC 8259 ne prévoit pas de commentaires, et les chaînes comme les clés n’utilisent que des guillemets doubles. Des formats comme JSON5 et JSONC acceptent les deux, mais ce sont d’autres formats, et cette page les signale comme des erreurs.
Le formateur modifie-t-il mes nombres ?
Non. Les nombres et les échappements sont réécrits exactement comme saisis. JSON.parse arrondirait 12345678901234567890 en 12345678901234567000, mais cette page garde tous les chiffres : la mise en forme ne perd rien.
Mon JSON est-il envoyé quelque part ?
Non. La page s’exécute dans l’onglet de votre navigateur et n’envoie rien à un serveur. Une fois chargée, elle fonctionne aussi hors ligne. La limite de saisie est de 5 Mo.