Bug avec JSON avec un tableau contenant un index en string
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 :
Code:
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); |
Cela affiche :
Code:
debug1=VALEUR debug2=VALEUR
Pour moi parfaitement logique !
Mais:
Code:
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); |
Cela affiche :
Code:
debug1=VALEUR debug2=undefined
Pourquoi le passage en JSON me détruit mon objet si l'index est un string??? Dès le JSON.stringify, il est effacé.