Introduction au format JSON
Dans cette quête, nous te présenterons un nouveau format de fichier de données. Tu connais déjà les fichiers CSV ou d'autres formats de fichiers comme .xlsx, mais nous souhaitons parfois représenter les données dans une structure arborescente. Pour ce faire, nous pouvons utiliser des fichiers JSON.
Objectifs :
- Comprendre ce qu'est une structure arborescente (tree structure)
- Comprendre le format de données JSON
- Savoir lire les données JSON avec Python
Arborescence (tree structure)

En informatique, un arbre est une structure de données composée de nœuds. Un nœud est une structure qui peut contenir une valeur ou une condition, ou représenter une structure de données distincte (qui pourrait être un arbre en soi).
Chaque nœud d'un arbre a zéro ou plusieurs nœuds enfants, qui se trouvent en dessous de lui dans l'arbre (par convention, les arbres sont dessinés en poussant vers le bas). Un nœud qui a un enfant est appelé nœud parent de l'enfant (ou supérieur). Un nœud a au plus un parent, mais éventuellement plusieurs nœuds ancêtres, comme le parent du parent.
Les nœuds enfants ayant le même parent sont des nœuds frères et sœurs.
On trouve beaucoup de structures arborescentes en informatique, par exemple le répertoire et le fichier sur un ordinateur suivent une structure arborescente, même chose avec une page HTML. Il peut également être puissant pour représenter des données.

JSON
JSON (JavaScript Object Notation) est un format permettant de transcrire des données en texte. Ce format est de plus en plus utilisé par les développeurs. Les données sont classées en objets et sous la forme d'une structure arborescente :
- une racine a une clé (le nom de l'objet)
- ses branches ont des clés et des valeurs (les attributs de l'objet)
Voici à quoi ressemble un objet JSON :
{
"student": {
"firstname": "Eric",
"lastname": "Cartman",
"age": 10,
"psychopath": true,
"emergencyCall": {
"firstname": "Liane",
"lastname": "Cartman",
"number": 5556754
},
"hobbies": [
"World of Warcraft",
"Tacos",
"Drink tears"
],
"friends": null
}
}
Objet JSON
Un objet JSON a la forme suivante :
{
key1: value1,
key2: value2
}
Array JSON
Un array JSON a la forme suivante, ce qui ressemble fortement à ce que tu connais déjà sûrement :
key1: [
value1,
value2
]
Un tableau est représenté par des crochets : à une clé est associé un ensemble de valeurs.
Ressources
Very useful tool to browse a new json, especially if it's big or in one line. There exist a dozen of free formatter online with different options and display.
En fonction du langage sur lequel tu travailles :
Quiz
true|||true|||false
# JSON means :
[x] JavaScript Object Notation
[] Java Standard Output Network
[] JavaScript Output Name
# Which is correct format of writting JSON name/value pair
[x] "name" : "value"
[] 'name : value'
[] name = "value"
# What is correct MIME type for JSON ?
[x] application/json
[] application/js
[] application/xml
# What extension in used to save a JSON file?
[] .jsn
[x] .json
[] .statham
# Can you use a double quote inside a JSON string?
[] No, you should use single quotes
[] Yes, if you use the ascii code.
[x] Yes, if it is escaped like ( \" )
[] Yes, you can use it without any special treatment