Informatique
Formateur et validateur JSON
Colle le JSON : s'il est valide, tu l'obtiens formaté ou minifié, avec les clés triées par ordre alphabétique si tu veux et quelques statistiques ; sinon, le calculateur indique la ligne et la colonne de l'erreur.
Un JSON valide et lisible
JSON est le format dans lequel la plupart des API web échangent des données : objets entre accolades avec des clés entre guillemets doubles, tableaux entre crochets, chaînes, nombres, true, false et null. Les API le renvoient souvent minifié sur une seule ligne : le formater avec une indentation le rend lisible, le minifier retire les espaces et fait gagner des octets.
La syntaxe est plus stricte que celle de JavaScript : pas de virgule après le dernier élément, pas de commentaires, pas d'apostrophes, des clés toujours entre guillemets doubles. Ce sont les erreurs les plus fréquentes quand on écrit du JSON à la main, et l'analyseur les signale à la position exacte.
Trier les clés par ordre alphabétique ne change pas le sens, car l'ordre des clés ne compte pas dans un objet JSON, mais rend beaucoup plus simple la comparaison de deux réponses ou de deux fichiers de configuration avec un diff.
Erreurs fréquentes
- Laisser une virgule après le dernier élément d'un objet ou d'un tableau : JSON ne l'accepte pas.
- Utiliser des apostrophes ou des clés sans guillemets, comme en JavaScript : JSON exige des guillemets doubles.
- Écrire NaN, Infinity ou undefined : ce ne sont pas des valeurs JSON ; on utilise null.
Questions fréquentes
Le JSON collé est-il envoyé à un serveur ?
Non : la mise en forme et la validation se font dans le navigateur avec JSON.parse. Seul un JSON court va dans l'adresse de la page, pour pouvoir la partager.
Pourquoi les très grands nombres changent-ils ?
JSON.parse utilise les nombres à virgule flottante de JavaScript, exacts jusqu'à 2⁵³ : un identifiant comme 12345678901234567890 est arrondi. Les API aux grands identifiants les envoient en général sous forme de chaînes.
Quelle différence entre JSON et JSON5 ?
JSON5 est une extension qui accepte commentaires, virgules finales et apostrophes ; pratique pour les fichiers de configuration, mais ce n'est pas du JSON standard et JSON.parse le refuse.
Comment fonctionne ce calcul
Le texte est lu avec JSON.parse, qui applique la grammaire de la RFC 8259 ; en cas d'erreur, la position indiquée par le navigateur est convertie en ligne et colonne. Le résultat est réécrit avec JSON.stringify, avec 2 ou 4 espaces ou une tabulation par niveau, ou sans espaces. Avec le tri, les clés de chaque objet sont triées récursivement par point de code Unicode. Les tailles sont en octets UTF-8.
Calculs liés
Testeur d'expressions régulières
Teste une regex sur un texte : correspondances surlignées, groupes de capture et remplacement, en JavaScript.
Encodage d'URL
Encodage et décodage en pourcentage de valeurs et d'adresses, et une URL découpée en ses parties.
Convertisseur Base64
Du texte, d'un entier, de l'hexadécimal ou du binaire vers Base64 et retour, groupes de 6 bits expliqués.
Expressions cron expliquées
Traduis une expression cron en mots et vois les prochaines exécutions, champ par champ.