PRATIQUE CLIENTS WEB 
Comprendre JSON : l'échange de données simplifié
 
Conçu autour de HttpRequest, le format naissant JavaScript Object Notation vise à faciliter la transmission d'informations entre le navigateur et le serveur. (08/02/2005)
  Forum

Réagissez dans les forums de JDN Développeurs

"Echange de données" est aujourd'hui, dans de nombreux esprits, synonyme de XML, le format d'interopérabilité par excellence. Des projets faisant appel à des méthodes JavaScript ont pourtant vu le jour, où les données sont transportées non par flux XML, mais directement via des méthodes du navigateur, notamment HttpRequest - l'exemple le plus connu étant GMail.

Basé sur ces méthodes, un format émerge qui tente de prendre en compte les besoins, en méthodes simples et légères pour l'échange de données, des applications basées sur le navigateur : JavaScript Object Notation (JSON), basé sur ECMAScript. Une extension est également en cours de spécification : JSON-RPC, qui prend les avantages de JSON face à XML (plus léger), et les englobe dans un protocole similaire à XML-RPC (mais, donc, sans le XML…). JSON-RPC-Java est une implémentation fonctionnelle du protocole en Java, et JSOLait une implémentation JavaScript (les deux sont disponibles sous licence LGPL).

L'objectif de ce projet n'est pas de remplacer XML comme format d'échange, car celui ci conserve des avantages propres, notamment l'extensibilité. JSON offre simplement aux projets Web légers une méthode d'échange digeste.

En JavaScript, un échange prendrait cette forme :

var myJSONObject = {
  "bindings": [
    {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
    {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
    {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
  ]
};

...où l'on créé un objet binding contenant lui-même trois objets, chacun lançant un message au moyen de ses membres.

L'intérêt consiste principalement à afficher de nouvelles données sur une page Web sans devoir la recharger intégralement : seules les données nécessaires sont chargées. En clair, il s'agit d'une méthode permettant de se passer de Flash, des frames ou iframes, ou d'applets Java, et utiliser JavaScript en visant une balise DIV. Par ailleurs, il n'est plus nécessaire de faire appel à un parseur XML pour gérer les données, étant donné qu'elles sont directement prises en compte par JavaScript.

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page