JSON Juillet 2014

Que penser de la gestion du format JSON disponible avec WINDEV 19, WINDEV MOBILE 19, WEBDEV 19 ?

 

 

JSON Juillet 2014

 

Le format JSON (JavaScript Object Notation) est un format de données textuelles, générique, dérivé de la notation des objets du langage JavaScript. Il permet de représenter de l’information structurée comme le permet XML par exemple. Toutefois, à la différence du format XML, le format JSON est un format beaucoup plus léger (peu verbeux) et par conséquent beaucoup plus adapté aux dialogues des applications mobiles.

Jusqu’à la version 18, la conversion d’un objet en JSON n’était possible qu’en développant des fonctions spécifiques et l’inverse était simplement impossible dynamiquement (hors développements complexes).

 

La version 19 intègre quatre fonctions particulièrement utiles dans la gestion de ce format (dans l’ordre d’utilité) :

 

  • Sérialise : Cette fonction permet de générer une chaine au format JSON sur la base d’une structure, d’un tableau de structure, d’une classe, etc. Seuls les tableaux à n dimensions ne permettent pas la sérialisation.
  • Désérialise : Cette fonction permet d’allouer un objet dynamique dont la structure est définie sur la base d’une chaine JSON passée en paramètre. Dans le cas où la structure du JSON et celle de l’objet dynamique ne sont pas strictement identiques, seuls les membres communs de la structure sont instanciés.
  • JSONVersVariant (non disponible en WINDEV MOBILE) : Cette fonction est relativement semblable à la fonction Désérialise à l’exception que la définition de la structure cible n’est pas nécessaire. La syntaxe permet donc d’instancier une variable de type « variant » avec le contenu du JSON. La manipulation de la variable s’effectue ensuite telle un objet (listage des membres, des tableaux, etc.)
  • VariantVersJSON (non disponible en WINDEV MOBILE): Identique à la fonction Sérialise mais se base sur un variant et non pas sur une structure, classe ou autre.

 

Après quelques tests, nous considérons que la fonction de sérialisation proposée en version 19 apporte un réel gain,  tant par sa simplicité d’utilisation que par les performances constatées. Les temps de réponse sont en effet quasiment instantanés même sur de gros volumes de données.

Concernant la désérialisation, les deux fonctions proposées sont intéressantes et peuvent être implémentées selon l’utilité et la connaissance de la structure de retour, les temps de réponse étant également très bons dans les deux cas.

 

En résumé, ces fonctions permettent :

 

  • De mettre en œuvre des WebServices performants et facilement évolutifs
  • De consommer des WebServices au format JSON et de travailler sur des membres plutôt que sur des traitements de chaînes comme l’imposaient les versions précédentes

Ces fonctions disponibles dans les versions 19 des produits PC SOFT sont donc de réelles réussites tant par leurs simplicités d’utilisation, leurs performances que par les perspectives qu’elles ouvrent.

 

Contact Isimedia