Coder/décoder du json

Résolu
Signaler
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
-
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
-
Bonjour à tous,
j'ai récemment installé en local php 5.2.6 dans le but d'avoir nativement json_decode et encode();

Jusqu'alors je codais des objet json côté client de la façon suivante:  ['a','b','c','d'];


Cela me suffisait car j'enregistrait tel quel l'objet dans ma BDD, puis le récuperais quand nécessaire côté client par un appel Ajax. Il ne me restait plus qu'à décoder côté client avec javascript l'objet Json pour avoir accès aux données.

Mais j'ai désormais besoin d'utiliser certaine de ses données côté serveur. Je fais donc:

$a=$_REQUEST['param'];  // avec param => l'exemple d'objet donné ci-dessus
$a2=utf8_decode($a);
$b=json_decode($a2);

dans l'esperance d'obtenir $b[0]=a; $b[1]=b; etc....

Or cela ne matche pas.

Quelqu'un pourrait-il me donner la bonne structuration à faire côté client de l'objet Json avant l'envoi pour traitement ?

Merci d'avance

Signé Sagat

1 réponse

Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
1
Re,
j'ai résoud mon soucis:

il y a donc 2 possibilités de coder mes données côté client:

1) =>  param='[1,2,3,4,5]';
      Sans guillemets entre chaque donnée, puis côté serveur
      $a=$_REQUEST['param'];
      $a2=utf8_decode($a);
      $b=json_decode($a2,true);
      J'obtiens ainsi avec $b[1] la valeur 2, ce qui est correct.

2) => param='{"a":1,"b":2,"c":3,"d":4,"e":5}';

      Même chose que précédemment côté serveur sauf que pour obtenir la valeur des données, 
      j'utilise $b['a'] qui donne bien 1, ce qui est correct.

Voilà, je mettais mis en mode fainéant avant même de bien chercher. Sorry......

Merci à tous ceux qui auraient cherché à m'aider.

Signé Sagat