JSON

DéfinitionJSON

Acronyme de Java Script Object Notation

Se prononce jay-zon avec l'accent anglais .

C'est un format conçu pour transporter des données pour les pages Web.

Il est très utilisé pour l'internet des objets, car il est compact et simple à utiliser.

En JSON on trouve deux types de données de base :

  • les chaînes de caractères qui sont entre "

  • et les nombres qui ne sont pas entre " et qui contiennent principalement des chiffres.

    Par exemple "2019" est une chaîne de caractères et 2019 est un nombre.

On dispose aussi de deux types structures :

  • les listes de paires qui se composent de deux champs :

    • le mot clé qui est une chaîne de caractères

      • les clés représentent un attribut de l'objet que l'on décrit

    • une valeur qui peut être n'importe quoi.

    Par exemple, voici le json d'un élève de STI2D : { "Identifiant_de_la_classe": 604, "Spécialité_1": "IT", "Spécialité_2": "I2D"}

    Les listes sont délimitées par des accolades.

  • les tableaux : un tableau est délimité par des crochets droits [ ]et les éléments sont séparés par des virgules.

    Exemple :

    [604,"IT","I2D"]

ExempleExemple API du site www.infoclimat.fr

1
{"request_state":200,"request_key":"fd543c77e33d6c8a5e218e948a19e487","message":"OK","model_run":"01","source":"internal:GFS:1",
2
"2018-11-03 04:00:00":{"temperature":{"2m":277.3,"sol":279.2,"500hPa":-0.1,"850hPa":-0.1},
3
"pression":{"niveau_de_la_mer":102760},
4
"pluie":0.1,
5
"pluie_convective":0,
6
"humidite":{"2m":94.5},
7
"vent_moyen":{"10m":8.5},
8
"vent_rafales":{"10m":26.1},
9
"vent_direction":{"10m":409},
10
"iso_zero":2355,
11
"risque_neige":"non",
12
"cape":0,
13
"nebulosite":{"haute":100,"moyenne":0,"basse":96,"totale":100}},

On a ici un exemple de json comportant des listes et des listes de listes.

Nous voyons par exemple que pour la clé "pression" une clé "niveau_de_la_mer" a été ajoutée.

La valeur de cette clé est un autre ensemble de clés/valeurs qui nous renseigne sur la pression.

C'est un tableau associatif (associative array), un objet imbriqué dans un autre objet.