JSON
{
"data": [
{
"nom": "DUPONT",
"prenom" : "Jean"
},
{
"nom": "DUCOS",
"prenom" : "Jeanne"
},
{
"nom": "MARTIN",
"prenom" : "Alain"
}
]
}Voici une vue d’ensemble du vocabulaire usuel pour décrire un document JSON, illustrée par votre exemple :
| Terme | Définition | Exemple extrait de l’exemple |
| Racine | Objet JSON principal, point d’entrée de l’arborescence. | L’ensemble { … } qui englobe toutes les autres données. |
| Conteneur | Nœud interne capable de regrouper d’autres nœuds (objets ou tableaux). | L’objet racine { … } et le tableau “data”: […]. |
| Objet JSON | Conteneur constitué de paires clé-valeur, délimité par { … }. | Chaque élément de data, par exemple { "nom":"DUPONT", "prenom":"Jean" }. |
| Tableau JSON | Conteneur ordonné, délimité par [ … ], contenant une liste d’éléments (objets, valeurs primitives, etc.). | La valeur de la propriété data: [ { … }, { … }, { … } ]. |
| Paire clé-valeur | Association d’une clé et d’une valeur, séparées par :. | "parametre1":"valeur1". |
| Propriété | Synonyme de paire clé-valeur, au sein d’un objet JSON. | Dans l’objet { "nom":"DUPONT", "prenom":"Jean" }, "nom":"DUPONT" est une propriété. |
| Clé | Chaîne de caractères servant d’identifiant pour accéder à la valeur. | "data", "nom", "parametre2". |
| Valeur | Donnée associée à une clé, de type primitif (chaîne, nombre, booléen, null) ou conteneur (objet, tableau). | Chaîne ("Jean"), objet ({…}), tableau ([…]). |
| Type de valeur | Catégorie à laquelle appartient la valeur : string, number, boolean, null, object ou array. | "valeur1" → string ; [ … ] → array. |
| Nœud | Terme générique désignant un emplacement dans l’arborescence JSON (objet, tableau ou feuille). | L’objet racine, chaque objet du tableau, chaque valeur primitive. |
| Élément de tableau | Chaque item à l’intérieur d’un tableau, qu’il s’agisse d’un objet ou d’une valeur primitive. | { "nom":"DUCOS", "prenom":"Jeanne" } est un élément de data. |
| Feuille | Nœud terminal, sans descendants, possédant une valeur primitive. | Les chaînes "DUPONT", "Alain", "valeur2". |
Illustration annotée
{ ← Racine (conteneur)
"data": [ ← Propriété dont la valeur est un Tableau JSON (conteneur)
{ ← Élément de tableau de type Objet JSON (conteneur)
"nom": "DUPONT", ← Propriété (paire clé-valeur) ; Clé = "nom", Valeur = "DUPONT" (Feuille)
"prenom": "Jean" ← Propriété ; Clé = "prenom", Valeur = "Jean" (Feuille)
},
{ "nom": "DUCOS", "prenom": "Jeanne" },
{ "nom": "MARTIN", "prenom": "Alain" }
],
"parametre1": "valeur1", ← Propriété ; Clé = "parametre1", Valeur = "valeur1" (Feuille)
"parametre2": "valeur2" ← Propriété ; Clé = "parametre2", Valeur = "valeur2" (Feuille)
}Chemin (path)Manière de pointer vers une valeur, souvent écrit en JSONPath ou dot/bracket notation.
Ex.$.data[0].prenom→"Alain"