Découvrez notre société Contactez-nous

e-Xpert Solutions Genève

109, chemin du Pont-Du-Centenaire
CH-1228 Plan-les-Ouates / Genève
SUISSE

Tel. : +41 22 727 05 55 Fax : +41 22 727 05 50

e-Xpert Solutions Lausanne

Avenue de Gratta-Paille 20
CH-1018 Lausanne
SUISSE

Tel. : +41 21 802 26 78 Fax : +41 22 727 05 50
Contactez notre support : +41 22 727 05 56
En cochant cette case, vous acceptez notre politique de confidentialité disponible en cliquant ici
Envoyez votre message

Swiss Security Hackademy

Suivez notre blog bilingue en sécurité informatique !

Retour aux articles

Introduction au format JSON


Auteur : Gilliek

Date de publication : 2 mars 2017 - Dernière mise à jour : 10 juillet 2018


Le format JSON, qui est l’acronyme de JavaScript Object Notation, est utilisé pour des besoins de sérialisation de type clef-valeur. Comme son nom l’indique, il s’agit d’un format qui dérive du langage de programmation JavaScript et qui a été spécifié par Douglas Crockford dans les standard ECMA-404 et RFC 7159.

Bien que non limité à l’usage dans le web, il est très utilisé comme format de données dans la communication entre le navigateur web et le serveur, volant ainsi la vedette au format XML. L’usage de JSON à la place du Extensible Markup Language (XML) offre plusieurs avantages :

  • Cette notation occupe moins de place que l’XML, réduisant ainsi la bande passante utilisée.
  • Etant beaucoup plus simple dans sa structure, les opérations de lecture/écriture sur du JSON sont également beaucoup plus rapides. De plus, la désérialisation est aussi beaucoup plus rapide.
  • SON offre un type Array (tableau) et donc une structure permettant de stocker des valeurs de manière ordonnées.
  • Une fois parsé, le JSON peut directement être utilisé comme object JavaScript, ce qui est particulièrement intéressant dans le cas d’une application Web.

Un objet JSON supporte plusieurs type de valeurs:

  • Nombre entier ou à virgule flottante qui supporte aussi la notation exponentiel (E ou e).
  • Chaîne de caractères en Unicode
  • Booléen
  • Null, pour indiquer une valeur vide
  • Objet, ce qui permet d’imbriquer les objets les uns dans les autres

Chaque clef est quant à elle sous forme de chaîne de caractères. Par défaut, un document JSON est encodé en UTF-8, mais il est également possible d’utiliser de l’UTF-16 et de l’UTF-32. A noter également que JSON ne définit pas de format de date. Il faut dans ce cas soit utiliser un timestamp sour forme numérique ou stocker la date sous forme de chaîne de caractère.

Voici à quoi pourrait ressembler un objet JSON contenant les informations d’un utilisateur:

{
"username" : "jdoe",
"lastname" : "John",
"firstname" : "Doe",
"email" : "jdoe@example.com",
"admin" : true,
"groups" : ["managers", "users"],
"points" : 42,
"preferences" : {
"background_image" : "foo_bg.png",
"color" : "#e84900"
}
}