Rappels sur JSON#
JavaScript Object Notation
- Créé en 2005
- Format d'échange de données structurées léger
- Schéma des données non connu
- contenu dans les données
- Basé sur deux notions :
- collection de couples clé/valeur
- liste de valeurs ordonnées
Syntaxe et types en JSON#
- Similaire à du JavaScript uniquement pour les données
- On parle de littéral
- Deux types atomiques (
string
etnumber
) - Trois constantes (
true
,false
,null
) - Structures possibles :
- objet (couples clé/valeur) :
{}
{ "nom": "doe", "prenom": "jon" }
- tableau (collection de valeurs) :
[]
[ 1, 5, 10]
- une valeur dans un objet ou dans un tableau peut être elle-même un littéral
- objet (couples clé/valeur) :
Validation du JSON#
Validation possible du JSON à l'aide de jsonlint.com/
{
"name": "John Doe",
"age": 42,
"food": ["pizza", "cake"],
"wife": {
"name": "Jane Doe",
"age": 42
}
}
Note
Il existe aussi des moyens de définir des structures de données spécifiques en JSON (notion de schéma de donneés) et de valider un document d'après ce schéma Voir https://json-schema.org/
Compléments#
BSON
: extension de JSON
- Quelques types supplémentaires (identifiant spécifique, binaire, date, ...)
- Distinction entier et réel