7.1. Présentation du format JSON

On a vu que nos réponses HTTP devaient renvoyer des données au format JSON, mais nous ne savons même pas exactement ce à quoi correspond ce format !

Commençons donc par définir l’acronyme JSON : cela signifie JavaScript Object Notation. Certains diront que définir un acronyme ne nous avance pas beaucoup. Eh bien je dirai qu’au contraire, c’est en définissant plus précisément un élément, qu’on franchit une première étape vers la compréhension.  👍

Et mais attend… le JSON c’est du JavaScript ? Il y a le mot « JavaScript » là !

Bien vu, c’est vrai que le terme JavaScript apparait dans l’acronyme JSON.

Pourtant, JSON n’a aucun lien au départ avec le JavaScript !

Nous verrons dans la prochaine étape les différences exactes entre la syntaxe JavaScript et JSON, mais pour le moment, revenons sur le JSON en lui-même.

Pour commencer, JSON est avant tout un format de données textuel, facilitant l’échange de données entre plusieurs langages de programmation différent.

Autrement dit, c’est une manière de structurer vos données pour pouvoir l’échanger entre des programmes différents (comme une application web et une API Rest par exemple…).

Ensuite, une fois vos données structurées au format JSON, vous pouvez les sauvegarder dans un fichier avec l’extension « .json« . Par exemple, le fichier pokemon.json contient des données structurées au format JSON :

// Le fichier pokemon.json fictif.
{
  "id": 1,
  "name": "Bulbizarre",
  "hp": 25,
  "cp": 5,
  "picture": "./001.png",
  "types": ["Plante", "Poison"],
  "created": "01/01/2021"
}

Il s’agit d’un format de fichier que vous avez déjà rencontré.

Par exemple, c’est le même format JSON qui est utilisé par … le fichier package.json. Et oui ! 😉

Comme vous le voyez :

  • Le JSON est un format de données qui consiste en une succession de paires clef:valeur.
  • Les clefs et les valeurs sont séparées par deux points « :", et chaque paire est séparée de la suivante par une virgule.
  • Ensuite, chaque clef est une de chaînes de caractères.
  • Et chaque valeur peut avoir les valeurs suivantes uniquement :
    • Un simple nombre.
    • Une chaîne de caractère.
    • Un tableau, contentant des valeurs parmi cette liste.
    • Un objet, qui n’est rien autre qu’un JSON dans un JSON. Cela permet d’imbriquer des structures de données plus ou moins complexe.
    • Un booléen, true ou false.
    • La valeur null.

Il n’y a donc rien de bien sorcier, en respectant la structure ci-dessus vous obtiendrez de beaux JSON valides.

Avant d’aller plus loin, nous verrons quand même dans la prochaine étape en quoi JavaScript et JSON sont différents.

Le site décrivant officiellement la syntaxe JSON est json.org. Dans cette étape, nous avons vu plus simplement en quoi consisté cette syntaxe.