JSON est un moyen de transport.
peut importe comment il code l'information.
Si tu utilise JSON.stringify JSON.Parse json_encode json_decode ces outils te garantissent que ce que tu encode sera d�cod� � l'identique.
il pourrait transporter en binaire avec des caract�res �sot�rique ou avec n'importe quoi d'autre la seul chose qui importe c'est que la structure que tu encode sera celle que tu obtiendra au d�codage
que json_encode ajoute ou pas des " des espaces ou quoi que ce soit d'autre n'a aucun importance
si tu met toto dans ta clef tu auras toto dans ta clef et que pour le transport JSON ait ou pas ajout� de " ne change rien. si tu a une map JSON va l'encoder {"clef":"valeur"} et qu'il y ait 1 2 20 ou googol espaces entre { " ne changera rien tu aura � l'arriv� un map identique.
il ne sert absolument � vouloir modifier la fa�on don JSON encode les objets.
mais surtout il est compl�tement absurde d'encoder 2 fois un objet pour le d�coder 1 fois
1 2
| $data[] = array('text'=>$text,'value'=>"toto");
echo json_encode($data); |
tab = JSON.parse(JSON.stringify(msg));
voici ce que tu fais
1 2
| $data[] = array('text'=>$text,'value'=>"toto");
echo json_encode($data);// premier encodage |
=>
[{"text":"Principale","value":"toto"},{"text":"Seconde","value":"tata"}]
1 2
| JSON.stringify(msg)
//deuxième encodage |
o� msg est la string pr�c�dente =>
"[{\"text\":\"Principale\",\"value\":\"toto\"},{\"text\":\"Seconde\",\"value\":\"tata\"}]"
ce qui est la repr�sentation JSON de ta chaine de caract�res.
puis
tab = JSON.parse(...);//premier decodage
=>
[{"text":"Principale","value":"toto"},{"text":"Seconde","value":"tata"}]
tu obtiens une chaine est non pas la structure de donn�e de d�part
values: afficheListe(), ////ICI JE VOUDRAIS BIEN LA CHAINE DE MON AJAX
ceci n'a absolument aucun sens ici ce dont tu as besoin c'est la structure de donn�e et non la string
1 2
| $data[] = array('text'=>$text,'value'=>"toto");
echo json_encode($data); |
1 2 3 4 5 6 7 8 9 10 11 12
| values: afficheListe(), ////ICI le tableau de données
//=>
[
{
text:"Principale",
value:"toto"
},
{
text:"Seconde",
value:"tata"
}
] |
pour finir je dirais que data: "id=$id", est des plus �trange je ne vois pas ce qu'il fait l�. �a sent tr�s mauvais le m�lange de js et php.
A+JYT
Partager