le JSON : un pont entre tous les langages

* Amis développeur confirmé, passe ton chemin :) *

 

J’entends souvent dans mon entourage des trucs qui me perturbent par rapport au JSON, c’est pourquoi je me suis dit qu’une petite piqure de rappel concernant ce formidable outil pourrait peut être démystifier quelque chose d’aussi bête et simple que le JSON. 

JSON c’est quoi ?

Non ! le JSON n’est pas un langage, ni une forme de magie obscure et laborieuse, c’est juste un format de données, c’est a dire un texte à plat qui respecte une certaine structure pour véhiculer facilement et légèrement les informations.

Nb: En bon frenchy, le JSON se prononce “dJisône” et signifie “JavaScript Object Notation” car il est issue de la notation objet utilisée en javascript.

 

Les gros point fort du JSON:
* Étant donné qu’il s’agit d’une simple chaine de caractère, il fonctionne sous tous les environnements et tous les langages qui peuvent gérer du texte (et ça fait un paquet d’endroits ^^)
* Il s’apprend en 5 minutes tant sa syntaxe est courte à connaitre
* Il est moins verbeux, donc plus léger que le XML tout en restant lisible pour l’être humain
* Il permet de transmettre tout types de données (tableau, chaine, entier, objet …)
* Étant donné qu’il est quasi universel, il est très simple de dialoguer d’un langage à un autre via JSON (PHP vers Javascript est un exemple courant)

Voyons un peu la syntaxe …

 

La syntaxe de base

{ = Définis que le contenu englobé est un objet
ex :  {objet json}


: = Définis une valeur
ex :  {age:25}


«  ou = Définis que la la valeur est textuelle (on ne les mettra pas pour les valeurs numérique)
ex :  {name:"Idleman"}


, = sépare un attribut d’un autre
ex : {name="Idleman",age:25}


[ = définis que le contenu englobé est un tableau
ex : {name="Idleman",age:25,hobby:["informatique","musique","sport","sorties"]}

 

C’est tout pour la syntaxe! Il est maintenant possible de faire des combinaisons en englobant des objet dans d’autres
ex :  {users:[{"name":"Idleman","age":25},{"name":"IdleGirl","age":20}]}


Il est possible d’imbriquer des objets ou des tableaux en tant que valeurs d’autres objets, tableau ou attributs à l’infini.

 

Le JSON en Javascript

Comme nous l’avons spécifié, le javascript est le langage « natif » du JSON,  une chaine JSON est tout simplement construite de la même façon qu’un objet javascript.

ex :  var bdd = {users:[{"name":"Idleman","age":25},{"name":"IdleGirl","age":20}]}; 

Vas créer un objet javascript contenants plusieurs utilisateurs et accessible de cette façon

 

Le JSON en PHP

Le JSON étant une chaine de texte, il est géré de la même façon partout, cependant certains langages comme PHP mettent a disposition des outils pour nous simplifier encore la vie dans la construction de la chaine.

Aussi PHP propose t’il depuis la V5.1 (si ma mémoire est bonne, à vérifier) les fonction json_encode() et json_decode() qui permettent de traduire un tableau ou un objet php directement en chaine JSON et réciproquement.

ex :

 

 

Le JSON dans les autres langages
Chaque langages gère nativement ou non le JSON, pour la plupart il existe des librairies toutes faites (C#, Python, Java, C++ …)
pour d’autre c’est géré en natif (javascript, PHP …) au final très peu de langages ne vous proposeront rien du tout, et pour ceux la,
il vous faudra construire vos chaines JSON à la main.

 

Exemple utile utilisant JSON, PHP, Javascript, et de l’AJAX(JQuery)

Histoire de comprendre l’intérêt de JSON dans vos sites web, voila un petit exemple de récupération des utilisateurs dans une base de données.
Javascript vas appeler une page PHP via Ajax, PHP vas retourner une chaine JSON contenant tous les utilisateurs de la base, enfin Javascript vas récupérer
cette chaine et afficher les utilisateurs sur la page.

La page PHP « users.php »

 

La Page HTML/JAVASCRIPT

 

 

Pour les flemmards du copier/coller, les sources sont téléchargeable ici.

 

Plus d’infos sur www.json.org:)

 


Follow us on Facebook

www.webpoint.fr
webpoint.e-monsite.com  www.prestatic.fr  www.epart.fr/demo 4  www.support-prestashop.fr  www.maxibazare.com  www.conseils-web.fr  referencement-annuaire-web.fr  facebook.com/Webpointfr-622797134842872  facebook.com/prestatic.fr  webpointfr.simplesite.com  webpoint.e-monsite.com  contact29364.wixsite.com/www-webpoint-fr  webpoint.space  webpoint.byethost7.com  akimania.webnode.fr  Dropshipping shopify Retour