Qu'est-ce que JSON? Un guide en langage simple avec des exemples
JSON (JavaScript Object Notation) est un format texte simple pour écrire des données structurées — un client, une commande ou une liste de produits, par exemple — sous forme de noms associés à des valeurs. Il est facile à lire pour les humains et facile à produire et à analyser pour les programmes. Lorsque les applications et les services échangent des données sur le web, JSON est de loin le format le plus courant.
Pourquoi JSON est important quand on crée avec l'IA
Vous rencontrerez JSON constamment, même si vous n'écrivez jamais de code :
- Les API. Lorsque les écrans de votre application chargent des données depuis son backend, ou que votre backend appelle un service de paiement, de courriel ou d'IA, les données voyagent généralement en JSON. Voir ce qu'est une API.
- Les fichiers de configuration. Beaucoup de fichiers de configuration de projet sont en JSON — par exemple
package.json, qui énumère les dépendances d'un projet JavaScript. - Les bases de données. Postgres peut stocker du JSON dans une colonne (le type
jsonb) pour des données qui ne s'insèrent pas proprement dans des lignes et des colonnes. Voir ce qu'est Postgres. - Les résultats de l'IA. Lorsque vous voulez qu'un modèle d'IA renvoie quelque chose qu'un programme peut utiliser — une liste d'étiquettes, des champs extraits d'une facture —, vous demandez généralement du JSON.
- Les messages d'erreur et les journaux. Beaucoup d'erreurs arrivent en JSON, et les lire est souvent le moyen le plus rapide de comprendre ce qui s'est passé.
Savoir lire JSON vous permet de vérifier ce que votre application a réellement reçu, de repérer un champ manquant et de décrire précisément les problèmes à votre générateur d'IA.
Une analogie du quotidien
Pensez à un formulaire papier : Nom : ____, Téléphone : ____, Infolettre : ☐ oui ☐ non. Chaque case est une étiquette avec une valeur à côté. JSON, c'est ce formulaire écrit sous forme de texte, selon une mise en page stricte qu'un ordinateur peut lire sans deviner. Et comme les formulaires, JSON peut contenir des sections à l'intérieur d'autres sections (un bloc d'adresse avec la rue, la ville et le code postal) ainsi que des listes (plusieurs numéros de téléphone).
À quoi ressemble JSON
Voici une seule réservation en JSON :
{
"id": 5001,
"customer": "Lena Park",
"service": "Haircut",
"startsAt": "2026-10-03T14:00:00Z",
"price": 35.5,
"paid": false,
"notes": null,
"extras": ["beard trim", "hot towel"],
"contact": {
"email": "lena@example.com",
"phone": "+44 20 7946 0000"
}
}
Lecture :
- Les accolades
{ }entourent un objet — un ensemble de paires nom/valeur. - Chaque paire s'écrit
"nom": valeur, séparées par des virgules. - Les crochets
[ ]entourent un tableau — une liste ordonnée. - Les objets et les tableaux peuvent être imbriqués, comme le sont
contactetextras.
Les six types de valeurs
JSON ne compte que six types de valeurs. Cette courte liste explique en grande partie pourquoi il fonctionne partout.
| Type | Exemple | Remarques |
|---|---|---|
| Chaîne (texte) | "Lena Park" | Toujours des guillemets doubles |
| Nombre | 35.5, -2, 1e6 | Sans guillemets; sans symboles monétaires |
| Booléen | true, false | En minuscules, sans guillemets |
| Null | null | « Aucune valeur » |
| Objet | { "ville": "Québec" } | Valeurs nommées |
| Tableau | [1, 2, 3] | Liste ordonnée; les éléments peuvent être de n'importe quel type |
Il n'existe pas de type date. Les dates s'écrivent sous forme de chaînes, généralement dans le format ISO 8601 présenté plus haut (2026-10-03T14:00:00Z, où Z signifie UTC). S'entendre sur ce format évite toute une catégorie de bogues liés aux fuseaux horaires.
Les règles strictes (là où naissent les erreurs)
JSON est moins tolérant qu'il n'en a l'air. Voici des exemples invalides :
{ nom: "Léa" } ← clé sans guillemets doubles
{ 'nom': 'Léa' } ← guillemets simples
{ "a": 1, "b": 2, } ← virgule finale
{ "a": 1 "b": 2 } ← virgule manquante
{ "a": 1 // commentaire } ← les commentaires ne sont pas permis
La plupart des erreurs « Unexpected token » que vous verrez correspondent à l'un de ces cas. Un validateur ou un formateur JSON vous indiquera la ligne exacte.
Exemple concret : JSON à travers une application
Une cliente réserve une coupe de cheveux dans une application de salon. Voici où JSON apparaît :
- Le formulaire de réservation envoie ceci au backend de l'application :
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- Le backend enregistre la réservation dans la base de données et répond avec le statut
201 Createdet :
{ "id": 5001, "status": "confirmed" }
- Si l'heure était déjà prise, il peut plutôt répondre avec le statut
409 Conflictet :
{ "error": "slot_taken", "message": "Ce créneau vient d'être réservé. Veuillez en choisir un autre." }
La page lit status ou error et affiche le bon message. Si la page affichait plutôt un écran blanc, ouvrir les outils de développement du navigateur (onglet Réseau) vous montrerait ce JSON — souvent l'indice le plus rapide pour comprendre ce qui a échoué.
Termes clés
| Terme | Signification |
|---|---|
| Clé | Le nom d'une paire nom/valeur, comme "email". |
| Analyser (parse) | Transformer un texte JSON en données qu'un programme peut utiliser. |
| Sérialiser / stringify | Transformer des données en texte JSON pour les envoyer ou les stocker. |
| Charge utile (payload) | Les données envoyées dans une requête ou une réponse. |
| Schéma | Une description de la forme que doivent avoir les données — quels champs, quels types. JSON Schema est une norme pour en écrire un. |
| JSONB | Le type de colonne JSON binaire de Postgres, qui peut être indexé et interrogé. |
| NDJSON / JSON Lines | Un objet JSON par ligne, fréquent pour les journaux et les flux de données. |
Idées reçues courantes
- « JSON, c'est du JavaScript. » Il provient de la syntaxe de JavaScript, mais il est indépendant du langage : Python, Java, C#, Go et les autres le lisent tous.
- « Les nombres entre guillemets, ça va. »
"35"est une chaîne de texte, pas un nombre. Mélanger les deux cause des bogues, comme"35" + "5"qui devient"355". Les montants d'argent sont souvent mieux stockés en nombres entiers de cents (3550pour 35,50 $) afin d'éviter les problèmes d'arrondi. - « JSON est sécuritaire, car ce ne sont que des données. » JSON peut contenir n'importe quoi, y compris des secrets. Ne mettez pas de clés d'API dans du JSON envoyé au navigateur.
- « Tout mettre dans une colonne JSON. » Pratique pour des extras flexibles, mais les données que vous recherchez, filtrez ou joignez méritent généralement de vraies colonnes.
- « L'IA renvoie toujours du JSON valide. » Les modèles peuvent ajouter du texte superflu ou briser le format. Plusieurs fournisseurs offrent un mode de sortie structurée; votre code doit tout de même vérifier ce qui revient.
Quoi demander à votre générateur d'IA
- « Montre-moi un exemple du JSON que ce point de terminaison renvoie. »
- « Renvoie les erreurs en JSON avec un code
erroret unmessagelisible par une personne. » - « Stocke les dates en chaînes ISO 8601 en UTC et ne les convertis en heure locale qu'à l'affichage. »
- « Stocke les prix en centimes entiers. »
- « Valide le JSON entrant côté serveur et rejette les requêtes qui contiennent des champs manquants ou de mauvais types. »
- « Lorsque tu appelles le modèle d'IA, demande du JSON dans cette forme exacte et vérifie-le avant de l'utiliser. »
JSON dans Mythex
Vous n'avez pas besoin d'écrire du JSON à la main dans Mythex : vous décrivez ce que vous voulez, et l'agent écrit le code qui l'envoie et le lit. Il reste utile de le reconnaître : quand quelque chose ne fonctionne pas, coller l'erreur JSON dans le clavardage donne à l'agent un indice précis. La recette backend d'API REST de la documentation demande dès le départ des « erreurs JSON claires », et la recette intégrer n'importe quelle API couvre l'appel de services externes. Pour une vue d'ensemble, voir REST ou GraphQL et comment déboguer une application créée avec l'IA.
Questions
Qu'est-ce que JSON, en termes simples?
JSON (JavaScript Object Notation) est un format texte qui sert à écrire des données structurées sous forme de noms et de valeurs, comme "nom": "Léa". Presque toutes les API web l'utilisent pour échanger des données, et de nombreuses applications s'en servent pour les paramètres et les données stockées.
JSON est-il un langage de programmation?
Non. JSON est un format de données, pas un langage. Il ne peut rien faire seul : il ne fait que décrire des données. Même s'il provient de JavaScript, pratiquement tous les langages de programmation peuvent le lire et l'écrire.
Quelle est la différence entre JSON et un objet JavaScript?
Ils se ressemblent, mais JSON est plus strict. En JSON, chaque clé doit être entre guillemets doubles, les chaînes de texte utilisent aussi des guillemets doubles, il n'y a pas de commentaires ni de virgules finales, et les valeurs se limitent aux chaînes, aux nombres, à true, à false, à null, aux objets et aux tableaux.
Pourquoi mon JSON est-il déclaré invalide?
Les causes habituelles sont une virgule finale après le dernier élément, des guillemets simples au lieu de guillemets doubles, une virgule manquante entre deux éléments, un crochet non fermé ou un commentaire. Collez-le dans un validateur JSON, qui indiquera la ligne fautive.