Bonjour,
Tout est dans le titre. Ça fait longtemps que je fait du js, mais là j'ai du loupé une subtilité...
Cela me semble logique :
Cela affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var indexTest = "1"; var test = []; test[ indexTest ] = "VALEUR"; var debug1 = test[ indexTest ]; // Converti l'objet en chaine JSON var jsonString = JSON.stringify(test); // Converti la chaîne json en objet var test2 = JSON.parse(jsonString); var debug2 = test2[ indexTest ]; $('#content').html('debug1='+debug1+' debug2='+debug2);
Pour moi parfaitement logique !
Code : Sélectionner tout - Visualiser dans une fenêtre à part debug1=VALEUR debug2=VALEUR
Mais:
Cela affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var indexTest = "a"; var test = []; test[ indexTest ] = "VALEUR"; var debug1 = test[ indexTest ]; // Converti l'objet en chaine JSON var jsonString = JSON.stringify(test); // Converti la chaîne json en objet var test2 = JSON.parse(jsonString); var debug2 = test2[ indexTest ]; alert('debug1='+debug1+' debug2='+debug2);
Pourquoi le passage en JSON me détruit mon objet si l'index est un string??? Dès le JSON.stringify, il est effacé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part debug1=VALEUR debug2=undefined
Partager