bonjour,

Je butte sur un problème lors de la récupération de données d'un objet. Cette objet est une partie d'un objet plus vaste passé en paramètre au constructeur d'un objet. Il est de la forme suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pathData{
        mainFill:"r(0.1,0.2)#fff-#83A1AD-#134E6C-#000",
        actFill:"#d95d02",
        mainFillHovered: "",
        actFillHovered: "",
        mainFillSelected: "",
        actFillSelected: "",
        r: 50,
        node0:{
            phase0:{
                x : 600,
                y : 99,
                toNext:{
                    type: "l"
                }
            }
        }
Lorsque je fais une boucle "for property in pathData" , j'obtiens sans problème l'ensemble des propriétés de premier niveau que sont mainFill, actFill etc... jusqu'à node0. La où ça se corse, c'est lorsque j'essaye d'accéder à l'intérieur de cette boucle à la propriété phase0.

J'ai essayé de faire une nouvelle boucle "for prop in property" afin de récupérer la valeur
de phase0. Je n'ai récupéré qu'une suite de nombre de 0 à 4. Lorsque je fais :

J'obtiens "string", ce qui est étrange. J'ai donc essayé d'accéder directement à la propriété en faisant :

et

sans succès.

Je pense que mon erreur vient de mon incompréhension du format JSON. Est-ce que quelqu'un peut m'éclairer? Merci!

Ci-dessous le code complet:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for(var property in pathData)
            {
 
                if(pathData.hasOwnProperty(property) && property.match(/^node/))
                {            
 
                    for(var prop in property)
                    {
 
                        if(property.hasOwnProperty(prop) && prop.match(/^phase/))
                        {
 
                            for(var p in prop)
                            {
 
                            }
                        }
                    }