Suivez les fils RSS
 

Des livres incontournables pour tout maîtriser

  • CSS avancées - vers HTML5 et CSS3
  • HTML5
  • CSS2
  • PHP5 avanc�
  • Memento MySQL
  • Memento CSS 3
  • Memento XHTML
  • WordPress 3 100% pratique
  • jQuery et jQuery UI
Auteur
gorn
#
Citer
82 Posts
Bonjour,

j'ai ce JSON

[
    {
        "id": "1",
        "category_id": "1",
        "chanel_ref": "A67017-Y07535-30000",
        "dim_cm": "17 x 21 x 5 CM",
        "dim_in": "6.5 x 8.5 x 2 in",
        "product_order": "1",
        "by_size": "0",
        "display_name": "SACS",
        "lang": "fr",
        "slug": "sacs",
        "price": "1390€",
        "market": "EU",
        "product_name": "POCHETTE",
        "long_description": "Pochette du soir inspirée du sac iconique 2.55 en agneau",
        "declinaison_default": "Y07535-30000",
        "declinaison": {
            "colors": {
                "color": [
                    {
                        "color_ref": "30000",
                        "color_label": "Gris clair"
                    },
                    {
                        "color_ref": "43813",
                        "color_label": "Lilas"
                    }
                ]
            }
        }
    },
    {
        "id": "2",
        "category_id": "1",
        "chanel_ref": "A67018-Y07535-43813",
        "dim_cm": "8,5 x 14 x 5 CM",
        "dim_in": "3.5 x 5.5 x 2 in",
        "product_order": "2",
        "by_size": "0",
        "display_name": "SACS",
        "lang": "fr",
        "slug": "sacs",
        "price": "1 890 €",
        "market": "EU",
        "product_name": "SAC CLASSIQUE",
        "long_description": "Petit sac classique à rabat en python ciré",
		"declinaison_default": "Y07535-43813",
        "declinaison": {
            "colors": {
                "color": [
                    {
                        "color_ref": "43813",
                        "color_label": "Lilas"
                    },
					{
                        "color_ref": "30000",
                        "color_label": "Gris clair"
                    }
                ]
            }
        }
    }


j'ai mis le contenu dans un objet data.
en fait mon soucis c'est que je ne sais pas sélectionner un élément de tel id, là je les sélectionne dans l'ordre comme ceci :
 data id .display_name

si je met 3 ça me prendra le 4ème élément.
Mais je voudrais juste sélectionner l'élément data.display_name dans l'objet data ayant pour id 3.
vous savez comment faire ? ça doit être un truc tout bête
Modifié par gorn (13 Feb 2012 - 16:25)

^
Gothor
#
Citer
325 Posts
Je sais pas si c'est le moyen le plus rapide, mais on peut toujours y aller à coup de boucle...

function dataById(data, id) {
    for (var j = 0; j < data.length; j++)
        if (data[j].id == id)
            return data[j];
    return null;
}

Modifié par Gothor (13 Feb 2012 - 16:30)

Gothor

^
gorn
#
Citer
82 Posts
Gothor a écrit :
Je sais pas si c'est le moyen le plus rapide, mais on peut toujours y aller à coup de boucle...

function dataById(data, id) {
    for (var j = 0; j &lt; data.length; j++)
        if (data[j].id == id)
            return data[j];
    return null;
}


je pense que ça marche, je vais essayer ainsi, mais ce n'est peut être pas très performant vu que ça fait une boucle et donc des tests à chaque fois.
Après mon fichier ne contient qu'environ 20 éléments donc peut être que ça n'est pas gênant.
En tout cas merci de ta réponse.

^