11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

En fait je cherche à avoir un objet de la sorte :

c2.img = [
		{"id":"1","src":'img/A67017-Y07535-30000.png'},
		{"id":"4","src":'img/A67018-Y07537-11305.png'},
		{"id":"5","src":'img/A67018-Y07535-43813.png'},
		{"id":"10","src":'img/A67021-Y07535-43813.png'},
		{"id":"19","src":'img/A67026-Y07541-C1928.png'},
		{"id":"18","src":'img/A67026-Y07599-45002.png'},
		{"id":"16","src":'img/A67025-Y07541-C4796.png'},
		{"id":"17","src":'img/A67025-Y07541-C2666.png'},
		{"id":"20","src":'img/A67026-Y07541-C2677.png'},
		{"id":"3","src":'img/A67063-Y07600-C2692.png'},
		{"id":"2","src":'img/A67063-Y07536-11305.png'},
		{"id":"7","src":'img/A67064-Y07536-61506.png'},
		{"id":"9","src":'img/A67064-Y07536-94305.png'},
		{"id":"8","src":'img/A67064-Y07536-10800.png'},
		{"id":"12","src":'img/A67085-Y07544-11305.png'},
		{"id":"14","src":'img/A67086-Y07544-81446.png'},
		{"id":"13","src":'img/A67086-Y07543-94305.png'},
		{"id":"11","src":'img/A67021-Y07537-94305.png'},
		{"id":"15","src":'img/A67087-Y07544-10907.png'},
		{"id":"6","src":'img/A67064-Y07536-61433.png'}
	];


sachant que je possède un JSON contenant des id et des références (le nom des images).
Par contre autant j'arrive à chargé les données du JSON, autant je n'arrive pas à les mettre dans cet objet c2.img que je pourrai réutiliser ensuite. (j'ai absolument besoin d'avoir cet objet, je ne peux pas me servir d'une autre solution pour la suite car le programme a déjà été réalisé).

J'ai tenté un truc en bouclant sur tous les éléments du JSON et en mélangeant les données du JSON et des strings pour avoir :

{"id":"1","src":'img/A67017-Y07535-30000.png'},
		{"id":"4","src":'img/A67018-Y07537-11305.png'},
		{"id":"5","src":'img/A67018-Y07535-43813.png'},
		{"id":"10","src":'img/A67021-Y07535-43813.png'},
		{"id":"19","src":'img/A67026-Y07541-C1928.png'},
		{"id":"18","src":'img/A67026-Y07599-45002.png'},
		{"id":"16","src":'img/A67025-Y07541-C4796.png'},
		{"id":"17","src":'img/A67025-Y07541-C2666.png'},
		{"id":"20","src":'img/A67026-Y07541-C2677.png'},
		{"id":"3","src":'img/A67063-Y07600-C2692.png'},
		{"id":"2","src":'img/A67063-Y07536-11305.png'},
		{"id":"7","src":'img/A67064-Y07536-61506.png'},
		{"id":"9","src":'img/A67064-Y07536-94305.png'},
		{"id":"8","src":'img/A67064-Y07536-10800.png'},
		{"id":"12","src":'img/A67085-Y07544-11305.png'},
		{"id":"14","src":'img/A67086-Y07544-81446.png'},
		{"id":"13","src":'img/A67086-Y07543-94305.png'},
		{"id":"11","src":'img/A67021-Y07537-94305.png'},
		{"id":"15","src":'img/A67087-Y07544-10907.png'},
		{"id":"6","src":'img/A67064-Y07536-61433.png'}


mais vu qu'il y a des strings, ça ne fonctionne plus ensemble.
Est ce que vous avez une idée de comment faire ?
N'hésitez pas à me le dire si je ne suis pas très clair.
Merci d'avance Smiley smile
Modifié par gorn (20 Feb 2012 - 11:01)
Modérateur
euuu, du JSON c'est déjà de l'objet. C'est une manière de stocker les objets
(Javascript object notation);

Donc si tu as

 myJson = { "img" : [
  {"id":"1","src":'img/A67017-Y07535-30000.png'},
  {"id":"4","src":'img/A67018-Y07537-11305.png'},
  {"id":"5","src":'img/A67018-Y07535-43813.png'}
]}
c2 = myJson;

alert(c2.img[2].src); //affichera img/A67018-Y07535-43813.png


Sinon ton deuxième exemple est le même que le premier (donc je ne comprends pas), ce que tu souhaite faire c'est avoir accès aux ids en tant qu'index?
en fait dans un appel ajax j'ai fais ainsi :

tabProduct = eval("(" + xhr.responseText + ")");
						for (var i=0 ; i < tabProduct.length ; i++)
						{
							objImgBag = { id : tabProduct[i].id, src : "img/" + tabProduct[i].chanel_ref + ".png" };
							cboy.imgBags.push(objImgBag);
						}


j'avais déjà réussi mais j'avais oublier le img/ aux src du coup ça ne s'affichait pas et je pensais que je le faisais mal.
Merci de ta réponse Smiley smile [/i][/i]