Le format JSON

JSON (prononciation à la française /ʒi.sɔn/ ou /dʒej.sɔn/ , ou à l'anglaise /ˈdʒeɪˌsən/ (comme Jason Bourne !)) est un format de données.

Autrement dit, c'est une façon de stocker des informations via son propre format de fichier qui utilise l'extension[1] .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

Email

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 :

1
{
2
  "liste": {
3
    "personne": [
4
      {
5
        "Prenom": "Robert",
6
        "Nom": "Lepingre",
7
        "Email": "bobby@exemple.com",
8
        "Age": 41,
9
        "Ville": "Paris"
10
      },
11
      {
12
        "Prenom": "Jeanne",
13
        "Nom": "Ducoux",
14
        "Email": "jeanne@exemple.com",
15
        "Age": 32,
16
        "Ville": "Marseille"
17
      },
18
      {
19
        "Prenom": "Pierre",
20
        "Nom": "Lenfant",
21
        "Email": "pierre@exemple.com",
22
        "Age": 23,
23
        "Ville": "Rennes"
24
      }
25
    ]
26
  }
27
}

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.

SimulationJSON 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émentJSON 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. »