cherche un tutorial JSON - javascript - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : cherche un tutorial JSON - javascript (/showthread.php?tid=4531) Pages :
1
2
|
cherche un tutorial JSON - javascript - php_addict - 13-01-2010 bonjour j'utilise un tout petit peu AJAX pour 2 ou 3 trucs et en attendant de pouvoir comprendre le JSON j'utilisais la fonction eval() qui apparemment: eval is evil... Je cherche infructueusement un tutorial sur le JSON et javascript qui n'utilise pas eval() ... connaitriez vous 'such a tutoriel ' ? bonne journée RE: cherche un tutorial JSON - javascript - Anthor - 13-01-2010 C'est juste un tableau. Qu'est-ce que tu ne comprends pas ? RE: cherche un tutorial JSON - javascript - Sephi-Chan - 13-01-2010 Même question, peut-être pourrais-tu nous expliquer un peu ce que tu cherches faire et ce que tu as déjà fait. JSON, c'est juste une notation pour représenter des objets, et — par un heureux hasard — c'est exactement la même notation qu'un objet Javascript ! Ainsi, voilà un objet JSON :
JSON, c'est juste une façon de noter un objet pour l'envoyer à quelque chose d'autre. Tous les langages proposent des API pour transformer un objet JSON en objet dudit langage (par exemple PHP propose json_decode) ou inversement : renvoyer une chaîne (du type de celle que j'ai représentation (une chaîne de caractère) . Pour utiliser JSON avec PHP, il faut faire attention à quelques choses. Ainsi, les clés (name, race, energy, etc.) et les chaînes doivent être entourées de guillemets doubles. Sinon le parser de PHP plante (et renvoie NULL). Admettons donc que je reçoive un objet JSON dans mon script (dans cet exemple, je vais l'écrire en dur, mais dans la pratique tu auras généralement une source externe) :
Et voilà ce qu'affiche ce script (lancé en CLI) :
Voilà, j'espère que ces exemples t'auront permis de comprendre la puissance de cette notation d'échange de données. Sephi-Chan RE: cherche un tutorial JSON - javascript - Ter Rowan - 13-01-2010 je pense avoir eu le même problème que php_addict ce n'est pas tant savoir lire avec ses yeux le json c'est savoir lors d'un échange ajax (ou ajaj) par exemple comment faire pour que le "texte" qui porte l'information json devienne un objet javascript grossièrement l'équivalent de json_decode en php mais en javascript je n'ai vu qu'eval moi aussi quand je cherchais, du coup j'ai décidé de passer à xml ^^ RE: cherche un tutorial JSON - javascript - Sephi-Chan - 13-01-2010 Tu peux utiliser JSON2.js, une librairie documentée sur json.org. Sinon, tu peux utiliser une librairie Javascript telle que jQuery, qui incorpore un parser JSON qui a l'avantage d'utiliser le support natif de JSON quand le navigateur le supporte (tous sauf dans les IE qui précèdent IE8). Sephi-Chan RE: cherche un tutorial JSON - javascript - php_addict - 13-01-2010 merci pour toutes ces infos... donc je vais m'exprimer plus clairement: - j'ai une map de 15x15 carte admetons - la carte peut defiler au nord, sud, est ouest... - si javascript est activé alors seul la carte est chargée en ajax fonctionnement de mon ajax: - receiveReq.open("GET", 'map.php', true); map.php genere les code html pour afficher la carte, ce sont evidement des div et du css par contre map.php genere egalement un code javascritp (une varaible tableau pour les onmouseover sur les zones cliquables de la carte ce que je faisait: - receiveReq.open("GET", fichier, true); pour recupere le html pour afficher la map et le code JS - je recupere le code JS du receiveReq.responseText dans une varialbe et fais un eval() pour executer le code JS je sais c'est moche.... ce que je compte faire: - receiveReq.open("GET", 'map.php', true) genere un fichier JSON avec le contenu de la carte à afficher (html) et le code JS pour les onmouseover - utiliser JSON.parse plutot que eval pour executer le socde js qu'en pensez vous? merci ? RE: cherche un tutorial JSON - javascript - Ter Rowan - 14-01-2010 bon j ai pas cherché plus que cela mais en regardant le premier lien de Sephy il y a un eval utilisé dans la bibliothèque du coup, certes ce n'est pas toi qui fait l'eval, mais la bibliothèque semble le faire bref perso, je reste sur xml RE: cherche un tutorial JSON - javascript - Sephi-Chan - 14-01-2010 Cette librairie est la librairie de référence en ce qui concerne la manipulation d'objets JSON via Javascript. Son auteur, Douglas Crockford, est un grand gourou de ce langage. Tu peux être certain que son utilisation d'eval est sûre. Une chose m'échappe : comment traites-tu le XML qui t'es retourné ? Pour ton problème, php_addict, je pense que tu devrais aller au bout de la démarche et faire en sorte que map.php te renvoie un objet JSON qui contient le nécessaire pour construire le HTML de ta carte (et les événements) côté client : ce sera plus rapide (tu n'as que des données à transmettre, pas un gros pavé de HTML) et moins coûteux (tu utilises les ressources du client, pas du serveur pour générer le DOM). Sephi-Chan RE: cherche un tutorial JSON - javascript - php_addict - 14-01-2010 (14-01-2010, 03:34 AM)Sephi-Chan a écrit : Pour ton problème, php_addict, je pense que tu devrais aller au bout de la démarche et faire en sorte que map.php te renvoie un objet JSON qui contient le nécessaire pour construire le HTML de ta carte (et les événements) côté client : ce sera plus rapide (tu n'as que des données à transmettre, pas un gros pavé de HTML) et moins coûteux (tu utilises les ressources du client, pas du serveur pour générer le DOM). bon, ca y est presque...en tout cas avec JSON ca marche :good: me reste plus qu'à reduire la taille de mon fichier JSON et de le traiter mieux du cote client, car la c'est encore un peu brute de chez brute comme données... encore merci... autre question: le JSON c'est pris en charge par tout les navigateurs? et depuis quand? merci a+ RE: cherche un tutorial JSON - javascript - Ter Rowan - 14-01-2010 (14-01-2010, 03:34 AM)Sephi-Chan a écrit : Une chose m'échappe : comment traites-tu le XML qui t'es retourné ?assez simplement au vu des difficultés que j'avais rencontré sur l'interprétation des propriétés d'un noeud avec ie en particulier, je restais sur un protocole de communication basique <xml> <tutu> <titi> valeur </titi> <toto> valeur </toto> </tutu> </xml> en utilisant responseXML j'ai vu sur le forum que d'autres avaient eu le même soucis que moi et finalement avait mis en place une couche javascript interprétant le responseText, ce qui permettait de garantir l'interprétation d'un noeud (je crois que c'était rowoll qui avait posté mais pas sûr) jusqu'à présent j'avais comme info sur json "json est interprétable nativement par javascript avec eval (avec tous les risques que cela comporte)" maintenant j'ai "json est interprété par javascript avec une "bibliothèque" " et tu as raisons peu importe si il y a un eval dedans si la bibliothèque est bien sécurisée conclusion json est interprété non nativement et nécessite une bibliothèque xml est interprété non nativement et nécessite du code à chacun de voir, pour moi l'un n'est pas meilleur que l'autre dans l'absolu (sinon il aurait été abandonné) mais est plus adapté à certains programmeurs |