JSON

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.



Mattia A. Fritz (discussion) 23 février 2017 à 16:33 (CET)

Introduction

JSON, acronyme de JavaScript Object Notation, est un format d’échange de données utilisé surtout dans le web, où ce format est en train de remplacer XML (qui reste néanmoins prépondérant, surtout dans les milieux pédagogiques). Par rapport à XML, JSON se caractérise par un format plus léger, qui ne prévoit pas des balises, mais exclusivement des associations clé-valeur similaire aux objets JavaScript (voir Tutoriel JavaScript de base). Voici de suite un exemple le contenu d'un fichier JSON :

 {
   "page" : "JSON sur EduTechWiki",
   "url" : "http://edutechwiki.unige.ch/fr/JSON",
   "info" : {
     "createdAt" : "2017-02-23",
     "createdBy" : "MAF",
     "isPublic" : true,
     "numberOfClick" : 100,
     "responseTime" : 0.567
   }
 }

JSON est également une extension de fichier .json qui est définit par un MIME type application/json.

Les avantages de JSON concerne :

  • Pas d'entête nécessaire (à discuter si c'est vraiment un avantage...)
  • La facilité de lecture pour les personnes (i.e. human-readable format)
  • La facilité de parsing par les machines
  • À égalité de contenu, les fichiers JSON sont plus léger et comportent moins de caractères qu'un document XML
  • Si utilisé avec JavaScript, les contenus des fichiers .json est incorporé directement en tant qu'objet, donc on peut par la suite accéder aux différents valeurs à travers la notation par point.
    • jsonFileContent.page --> "JSON sur EduTechWiki"
    • jsonFileContent.info.numberOfClick --> 100

Par contre, comparé à XML, JSON ne propose pas la possibilité de définir des attributs, si ce n'est à travers des "sous-clés" dans un même objet, par exemple :

  {
    "link" : {
      "label" : "Please visit EduTechWiki",
      "href" : "http://edutechwiki.unige.ch/",
    }
  }

Anatomie d'un fichier JSON