Envoyé par : trblft
Date : 23/09/2008 23:00
Bonsoir à tous, Je viens de voir un truc appelé "Native Json" sur le wiki de Firefox 3.1, dans la feature list. C'est quoi?
Envoyé par : Paul Rouget
Date : 30/09/2008 14:34
C'est pour faire du JSON :/ Concrêtement, qu'est ce que tu ne comprends pas ?
Envoyé par : trblft
Date : 08/10/2008 18:36
Ben, en quoi c'est natif
C'est vrai, qu'est ce que ça fait de plus? ça transforme quel genre d'objet en Json? Ou mieux, ça fait quoi avec le Json? ça joue le rôle de certaines bibliothèques qui gère du Json comme des objets?
Parce qu'en Javascript, y'a pas besoin de grand-chose pour ça.
Donc je me demandais si ça faisait autre chose, comme par exemple prendre un formulaire XUL ou autre et créer un objet Json avec tout le contenu du formulaire. Ou alors recevoir un Json contenant des noms de contrôle et des valeurs et modifier le formulaire correspondant à ces noms de contrôle.
Y-a-t-il une doc de ça?
Envoyé par : Paul Rouget
Date : 20/10/2008 10:20
C'est natif (écrit en C++), pas besoin de contenu externe. Voilà l'API :
Envoyé par : laurentj
Date : 17/11/2008 11:39
Ça permet surtout d'encoder/decoder du json de manière sécuriser. le toString/eval de JS n'est pas suffisant pour faire du JSON secure. Et puis ça évite d'embarquer une lib js qui encode/decode du json.
Envoyé par : trblft
Date : 19/07/2009 18:05
Je déterre le post parce que franchement, je trouve que c'est bien pratique ce truc, et ça marche même en remote XUL, donc très utile. Par exemple, voici un petit extrait de code qui me fait un tableur, à noter que pour l'utiliser, il faut inclure Jquery dans votre page :
function getColumnsIds(treeId) { var tree=document.getElementById(treeId); var treeColumns=$(tree).children('treecols'); var treeColumns = $(treeColumns).children('treecol'); var columnsIds = []; $(treeColumns).each(function(){ columnsIds.push(this.id); }); return columnsIds; }
function treeToCompleteJson(treeId) { var columnsIds = getColumnsIds(treeId); var tree=document.getElementById(treeId); var jsonTree=[]; var treeChild=$(tree).children('treechildren').children('treeitem').each(function(j) { var treeRow=this.firstChild; var jsonItem = {}; var treeCells=$(treeRow).children('treecell'); $(treeCells).each(function(i){ if ($(this).attr('editable')=='false') $(jsonItem).attr(columnsIds[i],$(this).attr('value')); else $(jsonItem).attr(columnsIds[i],$(this).attr('label')); }); jsonTree.push(jsonItem); }); return JSON.stringify(jsonTree); }
function sendCompleteTreeToScript(treeId,scriptUrl){ $.post(scriptUrl, treeToCompleteJson(treeId), function(data){ alert(data); }); }
La première fonction me cherche les identifiants de colonne pour le tree dont l'id est treeId et la deuxième me transforme chaque treeitem en objet Json, que je peux donc envoyer en paramètre POST à un script (php par exemple), or php gère le Json. Bon j'aurai p'tet dû mettre cet exemple dans un sujet à part, si j'aboutis, j'en ferai un vrai sujet complet. Json, c'est beau, il suffit de faire pour déclarer un nouveau tableau, {} pour un nouvel objet, de faire objet.attribut=variable pour faire de la variable l'attribut de l'objet.
Enfin une fonction qui aide vraiment au remote Xul.
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.