Cours Int-Gration Des SI - Ch2!24!25

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 22

Chapitre2

Le format JSON
Site officiel de JSON: http://www.json.org/

Cours Intégration des SI


3ème année Business Information System
Plan du chapitre

 Motivations
 Formats d’échange de données
 JSON
 Terminologie
 JSON est indépendant de tout langage
 Syntaxe de base
 Imbrication des structures object et array
 Validation d’un document JSON
 Exemple d’usage de JSON
 XML vs JSON
 Principaux usages de JSON
Objectifs du chapitre

 Apprendre le format JSON.


 Comparer XML et JSON.
 Etudier différents cas d’applications et d’utilisations.

3
Motivations

 Big Data: Grande masse de données traitées, stockées et


échangées sur le réseau informatique.
 BD NoSQL: structure à base d’objets.
 Diversité, hétérogénéité des plateformes, des matériels
et de logiciels.
 Cloud Computing: services en ligne et sur demande
(asS:as Sevice).
 Services web: échange de données en continu.

4
Formats d’échange de données: XML et JSON

 Deux formats sont maintenant bien établis pour


représenter les documents structurés : XML et JSON.
 Autres formats d’échange de données: CSV (Common
Singular Values), format texte, format binaire
 XML et JSON sont les plus utilisés.
 XML est très complet mais très lourd, par rapport à JSON
(format plus léger).

5
Formats d’échange de données: XML et JSON (2)
 Ces formats sont, entre autres, conçus pour le codage des
documents et sont adaptés aux échanges dans un
environnement distribué.
 Un document en JSON ou XML peut être transféré par
réseau entre deux machines sans perte d’information et
sans problème de codage/décodage
(sérialisation/désérialisation).

6
Source: Cours de Philippe Genoud
JSON

 JSON: est l’acronyme de Java Script Object Notation.


 Basé sur le langage Java Script.
 Douglas Crockford a inventé JSON initialement utilisé pour
faire communiquer des objets Java Script entre deux
applications.
 JSON est concis, simple dans sa définition, et très facile à
associer à un langage de programmation.
 JSON est largement majoritaire dans les bases NoSQL.
7
Terminologie

 Les structures d’un document JSON sont similaires aux


structures d’autres langages de programmation: dictionnaire,
tableau associatif, etc..
 D’où, les termes varient pour désigner ce que nous appelons
document pour la première structure de base ; on pourra parler
d’objet (JSON), d’élément (XML), de dictionnaire (Python), de
tableau associatif (PHP).
 Pour la deuxième structure, il y a le type array en Python et en
PHP, Vector en Java, etc.
 La sérialisation désigne la capacité à coder un document sous la
forme d’une séquence d’octets qui peut être échangée sans
dégradation sur le réseau, une propriété essentielle dans le
cadre d’un système distribué. 8
JSON est indépendant de tout langage

 Bienque JSON puise sa syntaxe du JavaScript, il est


indépendant de tout langage de programmation. Il peut
être ainsi interprété par tout langage à l'aide d'un
parseur.
 Un fichier au format JSON a pour extension ".json".

9
Syntaxe de base
 JSON est basé sur deux structures de base: une collection
de paires clé/valeur (object) délimitée par { } et liste
ordonnée de valeurs (array) délimitée par [ ] .

Source: www.json.org 10
Syntaxe de base (2)
 Une valeur peut être:
 Une chaîne de caractères.
 Un nombre
 Un objet
 Une liste
 valeurs true, false ou null.
 Les objets et les listes peuvent
être imbriquées.
Source: www.json.org

11
Syntaxe de base (3)
 1ère structure de base d’un document codé en JSON : les
paires (clé, valeur).
 Exemple1: { "Prenom": "Ahmed" }
 Exemple2:
{"Prenom": "Ahmed", "Nom": "Ben Mohamed", "Tél":
98333116, "Email": " [email protected]"}
 La représentation équivalente en XML est:

12
Syntaxe de base (4)
 2ème structure de base d’un document codé en JSON : liste
ordonnée de valeurs.
 Exemple1: [125,17,14,8,2]
 Exemple2: ["Hi", " Hello ", "Bonjour!", "Bienvenue"]
 Pour ajouter des caractères à une chaîne:
 \b pour effacer le dernier caractère comme " AsmaR\b" ,
 \n pour retour à la ligne comme " Tunis\nGafsa" ,
 \r pour effacer toute la chaîne " AsmaR\r" ,
 \t pour tabulation "Asma\tAyadi" ,
 \" pour ajouter " dans la chaîne "\"Asma\"" ,
 \\pour ajouter \ dans la chaîne "C:\\". 13
Imbrication des structures object et array

 Exemple1:
{"Employés":["Ahmed", "Ali", "Mohamed", "Yassine"]}
 Exemple2:
{"Nom":"Ben Lamine","Prenom":"Ali", "Age":25, "Voitures":null}
 Exemple3:
{"Nom":"Ben Lamine","Prenom":"Ali", "Age":25,
"Voitures":{"Voiture1":"Fiat", "Voiture2":"Renault", "Voiture3":"Seat" }}
 Exemple4:
{"Nom":"Ben Lamine","Prenom":"Ali", "Age":25,
"Voitures":[{"Marque":"Fiat", "Modèle":"Panda"}, { "Marque":"Renault",
"Modèle":"Clio"}, {"Marque":"Seat", "Modèle":"Ibiza" }]}
14
Validation d’un document JSON

Comment savoir qu’un document JSON est bien formé


(c’est-à-dire syntaxiquement correct) ?
 Il existe des validateurs en ligne, bien utiles pour détecter les
fautes comme par exemple http://jsonlint.com/ : il suffit de
copier-coller les documents JSON dans le validateur puis
vérifier s’ils sont corrects.

15
Exemple d’usage
 Convertir des données JSON en un objet Java Script et
inversement: récupérer des données à partir d’un serveur web
et les transformer en un objet JS à utiliser dans une page web.

16
XML vs JSON

 On constate que le codage XML est beaucoup plus bavard


que celui de JSON. XML présente plus des attributs inclus
dans les balises ouvrantes qui viennent compliquer
inutilement la représentation des données.
 Pour obtenir une puissance de représentation suffisante en
JSON, il est nécessaire de composer des structures comme
condition essentielle.

17
XML vs JSON
 XML par rapport à JSON ne connaît pas explicitement la notion de
tableau. Tout est uniformément représenté par balisage. On peut
introduire une balise Tels englobant les éléments du tableau.

18
XML vs JSON

 Un des inconvénients de XML est qu’il existe plusieurs manières


de représenter les mêmes données, ce qui donne lieu à des
réflexions et débats inutiles.
 JSON propose un ensemble minimal suffisant de structures,
représentées avec concision.
 La puissance de XML ne vient pas de sa syntaxe mais de la
richesse des normes et outils associés.
 Enfin, la sérialisation (JSON ou XML) est conçu pour permettre
des transferts sur le réseau sans détérioration du contenu, ce qui
est évidemment essentiel dans le contexte d’un système distribué
où les données sont sans cesse échangées.

19
Principaux usages de JSON

 Chargements asynchrones
 Avec la montée en flèche des chargements asynchrones
tels que l'AJAX (Asynchronous JavaScript And XML)
dans le web actuel, il est devenu de plus en plus
important de pouvoir charger des données organisées,
de manière rapide et efficace.
 Le format JSON s'est montré adapté à ce type de
besoins car il est léger, et indépendant des langages qui
l'utilisent.
20
Principaux usages de JSON (2)

 Les APIs
 Des sociétés telles que Twitter, Facebook ou
LinkedIn, offrent essentiellement des services basés
sur l'échange d'informations.
 Bien qu'il n'y a pas de domination totale d'un des
deux formats (JSON ou XML), XML est encore le
plus utilisé, mais JSON est sur le chemin de le
remplacer.
21
Références

 Philippe Rigaux, Bases de données documentaires et


distribuées», Septembre 2021.
 Cours de Philippe GENOUD, Université de Grenoble Alpes,
2016.
 Cours de Donia Ben Hassen, « Intégration des SI » MA à
l’ESEN, Université de La Manouba, Tunisie.
 http://www.json.org/

22

Vous aimerez peut-être aussi