Qu'est-ce que JSON ? Un guide en langage clair (et comment corriger les erreurs courantes)
Mis à jour 2026-07-06
JSON est partout dans les logiciels modernes — fichiers de configuration, réponses d'API, bases de données et réglages en dépendent. Pourtant, une seule virgule égarée peut casser un fichier entier et vous laisser face à une erreur « Unexpected token » énigmatique. Ce guide explique en langage clair ce qu'est JSON, comment sa syntaxe fonctionne vraiment, et comment diagnostiquer et corriger les erreurs que vous rencontrerez le plus souvent.
Ce qu'est JSON
JSON signifie JavaScript Object Notation. C'est un format léger, basé sur le texte, pour stocker et échanger des données structurées. Malgré son nom, il n'est pas lié à JavaScript — pratiquement tout langage de programmation peut le lire et l'écrire, ce qui explique justement qu'il soit devenu la langue par défaut des API web.
Tout l'intérêt de JSON est d'être lisible à la fois par les humains et les machines. Il représente les données comme une combinaison de quelques briques simples :
- Objets — des collections de paires clé/valeur entre accolades
{ }. - Tableaux (arrays) — des listes ordonnées entre crochets
[ ]. - Valeurs — une chaîne, un nombre,
true,false,null, un objet ou un tableau.
Voici un exemple petit mais complet :
{
"name": "Ada Lovelace",
"active": true,
"age": 36,
"skills": ["math", "logic"],
"address": {
"city": "London",
"postcode": null
}
}Les règles qui font trébucher
JSON ressemble beaucoup à un objet JavaScript, et cette ressemblance est la source de la plupart des erreurs — JSON est plus strict. Gardez ces règles à l'esprit et vous éviterez la grande majorité des erreurs :
1. Les clés et les chaînes ont besoin de guillemets doubles
Chaque clé doit être une chaîne entre guillemets doubles, et chaque valeur textuelle doit aussi utiliser des guillemets doubles. Les guillemets simples ne sont pas du JSON valide, même s'ils passent en JavaScript.
// Invalide
{ 'name': 'Ada' }
// Valide
{ "name": "Ada" }2. Pas de virgules finales
Vous ne pouvez pas laisser une virgule après le dernier élément d'un objet ou d'un tableau. C'est de loin l'erreur JSON la plus courante, car beaucoup d'éditeurs et de langages l'autorisent volontiers ailleurs.
// Invalide — virgule après la dernière valeur
{ "a": 1, "b": 2, }
// Valide
{ "a": 1, "b": 2 }3. Pas de commentaires
Le JSON standard n'a pas de syntaxe de commentaires. Les lignes commençant par // ou les blocs entre /* */ provoquent une erreur d'analyse. Si vous avez besoin de commentaires, des formats comme JSON5 ou YAML les autorisent — voyez notre formateur YAML si cela convient mieux à votre cas.
4. Les nombres sont simples
Les nombres s'écrivent sans guillemets et sans zéros en tête ni points décimaux finaux. 01, 1. et .5 sont tous invalides ; écrivez 1, 1.0 et 0.5.
Erreurs courantes et comment les corriger
Quand un analyseur rejette votre JSON, il signale généralement une ligne et une colonne. Cet emplacement pointe là où l'analyseur a abandonné, souvent juste après la vraie erreur. Voici les messages que vous verrez le plus et ce qu'ils veulent dire :
- "Unexpected token } in JSON" — presque toujours une virgule finale avant l'accolade ou le crochet fermant. Retirez la virgule en trop.
- "Unexpected string" / "Expected comma" — il vous manque une virgule entre deux valeurs, ou vous avez mis un saut de ligne là où devait aller une virgule.
- "Unexpected token ' in JSON" — des guillemets simples. Remplacez-les par des guillemets doubles.
- "Unexpected end of JSON input" — un crochet ou une accolade n'a jamais été fermé. Comptez vos
{et}; chaque ouvrant a besoin d'un fermant correspondant. - "Unexpected token o in JSON" — signe classique que vous avez tenté d'analyser quelque chose qui était déjà un objet, pas une chaîne JSON. N'appelez un analyseur que sur du texte.
Le moyen le plus rapide de cerner l'endroit exact est de passer le texte dans un formateur qui valide au fil de l'eau. Notre formateur et validateur JSON met en évidence la ligne et la colonne précises de la première erreur et, une fois le JSON valide, l'affiche joliment pour que les problèmes de structure (un crochet mal placé, une valeur imbriquée d'un niveau de trop) sautent aux yeux. Tout s'exécute dans votre navigateur, vous pouvez donc vérifier en toute sécurité des données privées ou sensibles.
Formater vs. minifier
Deux opérations reviennent sans cesse quand on manipule du JSON. Formater (aussi appelé embellir ou pretty-print) ajoute indentation et sauts de ligne pour rendre lisible un bloc dense — idéal pendant le débogage. Minifier retire chaque espace et saut de ligne superflu pour produire la plus petite sortie possible — idéal pour l'envoi sur le réseau ou l'insertion dans du code, quand la taille compte. Les données sont identiques dans les deux cas ; seuls les espaces changent.
Petite check-list
Avant de confier du JSON à un programme, vérifiez :
- Toutes les clés et valeurs textuelles utilisent des guillemets doubles.
- Il n'y a pas de virgules finales.
- Il n'y a pas de commentaires.
- Chaque crochet et accolade est équilibré.
- Il passe un validateur sans erreur.
Réussissez ces cinq points et JSON devient ce pour quoi il a été conçu : un format ennuyeux, prévisible, qui marche tout simplement. Quand quelque chose passe malgré tout, collez-le dans le formateur JSON et laissez-le vous mener droit au problème.
Plus sur Formats de données & encodage
Voir tous les guides Formats de données & encodage →Outils mentionnés dans ce guide