Qu'est-ce que le JSON ?
Le JSON (pour JavaScript Object Notation) est un des formats les plus utilisés pour l'échange de données.
Attention, bien qu'il le porte dans son nom, le JSON n'est pas exclusivement utilisé par JavaScript ! 😉
Au fil des années, il est devenu un véritable standard incontournable pour échanger des informations dans le développement web et dans les applications mobiles.
Les origines du JSON
À l'origine du JSON se trouve Douglas Crockford. Développeur, il souhaitait proposer une option pour ceux qui voulaient échanger des données plus facilement. Et pour cause, présenté en 2001, on peut dire que le JSON est à la fois :
- simple à écrire
- rapide à lire
- intuitif à comprendre
Inspiré par les objets JavaScript, voici pourquoi ce format en porte le nom ! 😁
Vous verrez que sa syntaxe est à s'y méprendre très ressemblante à ce qu'on peut trouver avec les dictionnaires du langage JavaScript.
La syntaxe du JSON
La syntaxe du JSON est à la fois simple et stricte. Elle se base sur deux types de structures :
- Les objets (qui ressemblent encore une fois énormément à ce qu'on peut trouver dans les langages de programmation)
- Les tableaux (qui ressemblent aussi à ce qu'on peut trouver dans les autres langages de programmation)
Les objets
En JSON, un objet est une simple suite de paires "clé: valeur" comme nous avons l'habitude d'en voir dans le langage JavaScript.
Chaque clé doit :
- être unique (on ne peut pas avoir deux fois le même nom)
- être une chaîne de caractères (donc aucun chiffre)
Voici un exemple d'objet JSON :
{
"nom": "Louis-Nicolas",
"age": 27,
"freelance": true,
"competences": ["JavaScript", "Next.js", "Symfony", "React"]
}
Décortiquons ensemble cet objet :
"nom"
- la clé sous forme de chaîne de caractères"age"
- est un nombre"freelance"
- un booléen"competences"
- un tableau de chaînes de caractères
Comme nous pouvons le voir, le format JSON permet de mélanger les types de données.
Les tableaux
Un tableau en JSON est très semblabe aux tableaux de manière générale dans les langages de programmation.
Il s'agit d'une liste de valeurs pouvant être de n'importe quel type.
Voici un exemple de tableau avec JSON :
[
"Next.js",
"React",
"Vue.js"
]
Les types de données acceptés
Comme nous l'avons vu dans les exemples ci-dessus, les types de données acceptés par JSON peuvent être différents. Il y a six :
- Les chaînes de caractères (String) : qui doivent être obligatoirement utilisées avec les guillemets doubles
- Les nombres : sans guillemets, ils peuvent être entier ou flottant (avec une virgule)
- Les booléens : peuvent être
true
oufalse
, sans guillemets - Les objets : avec des accolades
{ }
- Les tableaux : encadrés par des crochets
[ ]
- Null : qui précise l'absence de valeur et est écrit
null
sans guillemets
Exemple concret d'une donnée JSON
Pour mélanger tout ce que nous avons vu ensemble, voici un exemple complexe qui combine des objets et des tableaux. Il s'agit d'un véritable exemple que vous serez amené à retrouver dans vos carrières si vous travaillez avec JSON :
{
"nom": "Louis-Nicolas",
"age": 27,
"formations": [
{
"titre": "Développeur freelance",
"progression": 75
},
{
"titre": "Next.js avancé",
"progression": 50
}
],
"freelance": true,
"email": null
}
Petites précisions sur cet exemple :
- notre clé
"formations"
est un tableau qui contient des objets pour chaque valeur : c'est quelque chose que l'on retrouve souvent 🙂 - notre clé
"email"
possède une valeurnull
pour préciser que nous ne donnons pas l'information
Conclusion
La syntaxe JSON est stricte, elle ne donne pas de liberté, mais permet d'établir un standard simple et facile à lire.
Si vous souhaitez en savoir plus tout en pratiquant le format JSON, nous proposons une formation complète sur le langage JavaScript qui vous permettra de réaliser de nombreux projets utilisant le format JSON comme :
- une application météo géolocalisée
- un tracker du prix du bitcoin
Vous pouvez y accéder gratuitement ici.
