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:
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.
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" } } }
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part typeof(prop)
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part property.phase0
sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part property["phase0"]
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) { } } }
Partager