Techno - C’est quoi le format JSON ?

Techno - C’est quoi le format JSON ?

Date de sortie
June 27, 2024
Auteur
Bertrand Fabre

Aujourd’hui, je vous présente le format JSON.

Définition

JSON signifie JavaScript Object Notation. C’est un format d'échange de données qui est régulièrement utilisé pour la communication entre serveurs et applications web.

Langages de programmation

JSON est manipulable dans la plupart des langages de programmation, soit dans les bibliothèques natives du langage ou soit avec d’autres bibliothèques à installer.

Lisibilité

L’’avantage du JSON est qu’il utilise une syntaxe légère et surtout qui est compréhensible par un humain. Voici un exemple de JSON.

{
    "nom": "Jean Dupont",
    "age": 30,
    "email": "jean.dupont@example.com",
    "estInscrit": true
}

Avec cet exemple, on comprend que les données affichées représente un individu qui s’appelle Jean Dupont âgé de 30 ans possédant une certaine adresse email est qui est tagué comme inscrit.

Structure des données

La structure de données du JSON se formalise sous plusieurs formes :

Les paires clé-valeur

Comme dans notre exemple, la clé est le “nom” et la valeur “Jean Dupont”.

{
    "nom": "Jean Dupont",
    "age": 30,
    "email": "jean.dupont@example.com",
    "estInscrit": true
}

Les listes

Dans l’exemple suivant on liste entre crochets tous les jours de disponibilité que Jean Dupont a saisi.

{
    "nom": "Jean Dupont",
    "age": 30,
    "email": "jean.dupont@example.com",
    "estInscrit": true,
    "joursDispo": ["lundi", "mardi", "vendredi"]
}

Les tableaux imbriqués

Ce sont des structures plus complexes qui permettent d’agrandir les possibilités d’enrichissement de l’information. Dans notre exemple ci-dessous, Jean Dupont est l’heureux papa de deux enfants, Charles et Louise, qui sont listés dans la clé “enfants”.

{
    "nom": "Jean Dupont",
    "age": 30,
    "email": "jean.dupont@example.com",
    "estInscrit": true,
    "joursDispo": ["lundi", "mardi", "vendredi"],
    "enfants": [
		    {
			    "nom": "Charles Dupont",
			    "age": 2
			  },
			  {
				  "nom": "Louise Dupont",
				  "age": 6
				}
		]
}

Les types de données

Ses différentes structures de données sont accompagnés de différents types de données. En effet, en reprenant notre exemple initial on voit :

  • Des chaînes de caractères dans les valeurs comme “Jean Dupont” ;
  • Un nombre qui correspond à l’âge de Jean mais cette fois sans guillemets : 30 ;
  • Une valeur booléenne associée à la clé “estInscrit” et qui true ;
  • La valeur null est aussi possible. Je l’ai d’ailleurs ajouté à l’exemple initial et cela signifie que Jean n’a pas saisi son numéro de téléphone ;
  • Il y a bien sûr le type liste déjà vu précédent et d’autres structures clé-valeur possibles.
{
    "nom": "Jean Dupont",
    "age": 30,
    "email": "jean.dupont@example.com",
    "estInscrit": true,
    "telephone": null
}

Compatibilité

Le JSON est un format de données qui est supporté dans plusieurs bases de données comme :

  • CouchDB
  • FIrestore
  • MongoDB avec BSON
  • Amazon DynamoDB

Merci de votre lecture !