Validateur et formateur JSON
Validez, formatez et minifiez du JSON dans votre navigateur avec l'emplacement précis des erreurs.
Chargement de Validateur et formateur JSON… Si rien ne se passe, activez JavaScript.
JSON (JavaScript Object Notation) est un format d'échange de données léger et lisible par l'humain, fondé sur un sous-ensemble de la syntaxe JavaScript. Il a été popularisé par Douglas Crockford au début des années 2000 comme alternative plus simple au XML pour échanger des données entre clients et serveurs web. Normalisé sous le nom de RFC 4627 en 2006, puis ECMA-404 et RFC 8259, le JSON est devenu la langue universelle des API web, des fichiers de configuration et du stockage de données. Ses six types de valeur (chaîne, nombre, booléen, null, tableau et objet) correspondent proprement aux structures de données de pratiquement tous les langages de programmation.
Exemples
{"name":"Ada","age":36}
Valid · object with 2 keys
{'name': 'Ada'}
Invalid · property names must use double quotes
Le JSON est plus strict qu'un littéral d'objet JavaScript : pas d'apostrophes, pas de virgules finales.
Questions fréquentes
Mon JSON est-il envoyé à un serveur ?
Quelles sont les règles exactes qui rendent un JSON valide ?
Quelle est la différence entre formater et minifier du JSON ?
En quoi le JSON diffère-t-il de la syntaxe des littéraux d'objet JavaScript ?
Quelle taille de JSON puis-je valider et formater ?
Le validateur prend-il en charge JSON5 ou JSONC (JSON avec commentaires) ?
Puis-je l'utiliser pour formater du JSON à l'intérieur d'une chaîne (JSON échappé) ?
Le JSON est-il identique au BSON ou au MessagePack ?
Pourquoi le message d'erreur n'affiche-t-il que la première erreur ?
Quelle est une erreur courante qui rend un JSON invalide ?
À propos de Validateur et formateur JSON
Le JSON est incontournable dans le développement moderne. Les API REST renvoient des réponses JSON. Les fichiers de configuration d'outils comme ESLint, TypeScript et npm utilisent JSON. Les bases de données NoSQL comme MongoDB stockent les documents en BSON (JSON binaire). Les charges utiles d'événements des fonctions serverless sont des objets JSON. Les développeurs doivent régulièrement inspecter, formater ou valider du JSON provenant de réponses d'API, d'exports de bases de données, de fichiers journaux, de charges de webhooks et de modèles de configuration. Une seule virgule mal placée ou un crochet non apparié rend tout le document invalide, et le JSON minifié brut d'une API de production est presque impossible à lire sans mise en forme.
Ce validateur et formateur JSON analyse votre saisie localement dans le navigateur à l'aide de la fonction native JSON.parse, le même analyseur que celui de tous les environnements d'exécution JavaScript. Il met en évidence la ligne et la colonne exactes de toute erreur de syntaxe pour que vous puissiez trouver et corriger les problèmes immédiatement. Une fois valide, l'outil met en forme le JSON avec une indentation configurable pour la lisibilité, ou le minifie en supprimant tous les espaces inutiles pour réduire la taille de la charge. Comme tout s'exécute dans votre navigateur, vos données JSON, qui peuvent contenir des clés d'API, des fiches utilisateur ou des données commerciales confidentielles, ne sont jamais envoyées à aucun serveur.
Les erreurs JSON courantes comprennent les virgules finales après le dernier élément d'un tableau ou d'un objet (valides en JavaScript mais interdites en JSON), les chaînes entre apostrophes (le JSON exige des guillemets doubles) et les commentaires (le JSON n'a pas de syntaxe de commentaire, contrairement à JSONC ou JSON5). Les nombres avec des zéros en tête (comme 007) sont aussi invalides. Si vous travaillez avec un format qui étend le JSON avec ces fonctionnalités, il vous faut plutôt un analyseur JSONC ou JSON5 ; le JSON.parse standard les rejette.
Comment le JSON a conquis le web
Le JSON a été créé et popularisé par Douglas Crockford, qui a enregistré le domaine json.org en 2001 et a commencé à défendre le JSON comme une alternative légère au XML pour l'échange de données en AJAX. L'intuition clé de Crockford était que la syntaxe des littéraux d'objet et de tableau de JavaScript constituait déjà un format de données valide ; il fallait seulement la documenter, la restreindre à des types sûrs et la promouvoir. Il a affirmé, de façon célèbre, avoir « découvert » le JSON plutôt que de l'avoir inventé, notant que la syntaxe était déjà latente dans JavaScript lui-même.
Malgré sa simplicité, le chemin du JSON vers la normalisation a été étonnamment houleux. Crockford l'a d'abord publié sous une licence comportant la phrase « Le logiciel sera utilisé pour le Bien, pas pour le Mal », ce qui a conduit certaines organisations open source à le classer comme non libre. Lorsque l'ECMA a formalisé le JSON sous le nom d'ECMA-404 en 2013 et que l'IETF a publié le RFC 8259 en 2017, ils ont utilisé une licence propre, mais Crockford a conservé la clause « le Bien, pas le Mal » dans la spécification originale de json.org, créant une note de bas de page persistante (et quelque peu humoristique) sur les licences dans l'histoire des standards web.
Aujourd'hui, le JSON est sans doute le format de données le plus analysé qui soit. Tous les grands langages de programmation livrent un analyseur JSON dans leur bibliothèque standard. Les API REST, les réponses GraphQL, les bases de données NoSQL, les fichiers de configuration, les systèmes d'agrégation de journaux et les bus d'événements serverless utilisent tous le JSON comme format natif. L'ironie, c'est que le JSON, conçu pour être plus simple que le XML, est devenu si omniprésent que des écosystèmes entiers de formats proches du JSON (JSON5, JSONC, NDJSON, JSON Schema, JSON Pointer, JSON Patch) ont grandi autour de lui pour pallier ses limites.