Je crois toujours que tu t'emm�le les pinceaux au niveau du JSON.
Le format JSON a comme int�r�t de pouvoir avec une notation simple enregistrer des infos plus complexes (Objets, tableaux, etc...), �a apparemment, tu g�re (le JSON que tu as �crit est bien).
L'autre int�r�t est de pouvoir le traiter aussi simplement en JS � l'aide de eval() (C'est l� que les probl�mes commencent pour toi
).
Exemple :
= JSON
= String
Pour passer du string � un objet, utilises eval().
var obj = eval("{'test': 'toto'}");
obj est maintenant un objet JS. Tu peux utiliser ces attributs, tel obj.test (qui donne 'toto').
Rien ne t'emp�che de lui ajouter des attributs ou des m�thodes :
obj.id = 1234;
ou
obj.display = function() { ... }
Si tu as bien suivi, soit tu utilises :
var SmartLink = {"id_source":"7315f47dba65515fca60c851d7065bc6","url_source":"http:\/\/news.yahoo.com\/s\/afp\/20060822\/od_afp\/chinacateringcultureoffbeat_060822074830","title_source":"Jail-theme teahouse becomes prisoner of own success in China - Yahoo! News","smartlinks_infos":[{"id_dest":"75effc69e8c68b389c65c67119463312","score":"126","deleted":"0"," dat e":"1164279208","zone_cible":"151","manually_added":"0","url_dest":"http:\/\/news.yahoo.com\/s\/afp\/20060825\/od_afp\/malaysiahealthtoilets_060825160532","title_dest":"Malaysia calls for \"toilet revolution\" - Yahoo! News"}]};
soit (notes la pr�sence des guillemets) :
1 2 3 4 5
| //Muck Up JSON object juste pour voir si notre et notre fonction fonctionne bien!
var SmartLinklinkJson = "{'id_source':'7315f47dba65515fca60c851d7065bc6','url_source':'http:\/\/news.yahoo.com\/s\/afp\/20060822\/od_afp\/chinacateringcultureoffbeat_060822074830','title_source':'Jail-theme teahouse becomes prisoner of own success in China - Yahoo! News','smartlinks_infos':[{'id_dest':'75effc69e8c68b389c65c67119463312','score':'126','deleted':'0',' dat e':'1164279208','zone_cible':'151','manually_added':'0','url_dest':'http:\/\/news.yahoo.com\/s\/afp\/20060825\/od_afp\/malaysiahealthtoilets_060825160532','title_dest':'Malaysia calls for \"toilet revolution\" - Yahoo! News'}]}";
// La fonction eval crée un objet JS à partir d'un string json qui sera affiché et utilisé pour traitements ultérieurs!
var SmartLink = eval(SmartLinklinkJson); |
mais surtout pas :
1 2 3 4 5
| //Muck Up JSON object juste pour voir si notre et notre fonction fonctionne bien!
var SmartLinklinkJson = {"id_source":"7315f47dba65515fca60c851d7065bc6","url_source":"http:\/\/news.yahoo.com\/s\/afp\/20060822\/od_afp\/chinacateringcultureoffbeat_060822074830","title_source":"Jail-theme teahouse becomes prisoner of own success in China - Yahoo! News","smartlinks_infos":[{"id_dest":"75effc69e8c68b389c65c67119463312","score":"126","deleted":"0"," dat e":"1164279208","zone_cible":"151","manually_added":"0","url_dest":"http:\/\/news.yahoo.com\/s\/afp\/20060825\/od_afp\/malaysiahealthtoilets_060825160532","title_dest":"Malaysia calls for \"toilet revolution\" - Yahoo! News"}]};
// La fonction eval crée un objet JS à partir d'un string json qui sera affiché et utilisé pour traitements ultérieurs!
var SmartLink = eval(SmartLinklinkJson); |
qui ne donnera absolument rien !
PS : juste pour info, innerHTML n'est pas conforme aux standards (il "pourrait" poser probl�mes sur certains navigateurs, comme Op�ra), il vaut mieux utiliser document.createTextNode(). Maintenant, si ce n'est que pour du texte, �a doit passer partout !
Partager