Le format JSON
Définition :
Le format JavaScript Object Notation (JSON) est un format plus récent utilisé pour représenter des objets qui dérive de la notation des objets du langage JavaScript.
Un document JSON est essentiellement un ensemble de paires constituées d'une étiquette et d'une valeur ou d'une liste de valeurs.
Les paires sont placées entres accolades et séparées par des virgules. Les valeurs des listes sont placées entre crochets et séparées par des virgules.
Version tableau :
Prenom | Nom | Age | Ville | |
Robert | Lepingre | bobby@exemple.com | 41 | Paris |
Jeanne | Ducoux | jeanne@exemple.com | 32 | Marseille |
Pierre | Lenfant | pierre@exemple.com | 23 | Rennes |
Version JSON :
{
"liste": {
"personne": [
{
"Prenom": "Robert",
"Nom": "Lepingre",
"Email": "bobby@exemple.com",
"Age": 41,
"Ville": "Paris"
},
{
"Prenom": "Jeanne",
"Nom": "Ducoux",
"Email": "jeanne@exemple.com",
"Age": 32,
"Ville": "Marseille"
},
{
"Prenom": "Pierre",
"Nom": "Lenfant",
"Email": "pierre@exemple.com",
"Age": 23,
"Ville": "Rennes"
}
]
}
}
Le premier ensemble possède une paire dont la clé est liste et dont la valeur est une liste de trois éléments.
Chacun de ces trois éléments est un ensemble avec cinq paires représentant respectivement le prénom, le nom, l'email, l'âge et la ville de chaque personne.
Remarquez que les nombres ne sont pas placés entre guillemets, contrairement aux mots et aux clés qui doivent être entre guillemets.
Simulation : JSON Viewer
À l'aide de la plateforme https://codebeautify.org/jsonviewer, traduire le code JSON précédent, pour coder les données en CSV et en XML et vérifier les codes précédemment donnés dans ce module.
À partir du tableau suivant créer trois fichiers au format CSV, XML et JSON.
Nom
Prix
Code
Banane
5,99
77
Pomme
2,99
99
Poire
7,99
170
Complément : JSON mieux que XML ?
XML n'est certainement pas un format en voie de disparition, mais JSON le surpasse largement en popularité.
Douglas Crockford[2] explique les avantages de JSON sur XML ("le XML sans gras") et je cite un extrait ici :
« XML n'est pas idéal pour les échanges de données, de même qu'un tournevis n'est pas fait pour enfoncer des clous. Il porte avec lui un lourd bagage et ne correspond pas au modèle de données de la plupart des langages de programmation. Lorsque les programmeurs ont vu XML pour la première fois, ils ont été choqués par sa laideur et son inefficacité. Cette première réaction était la bonne. Il existe une autre notation textuelle qui possède tous les avantages de XML et se révèle bien mieux adaptée aux échanges de données — cette notation est JSON. »