Page 1 sur 1

Json en php

Posté : 30 mars 2011, 22:06
par devquentin
Bonsoir.
Je suis dans le développement d'une application facebook.
Je cherche actuellement à transformer un tableau de json en une variable array utilisable sous php en faisant par exemple echo $T[4];

Voila ce que je reçois comme objet de départ :

{"data":[{"name":"aaaaaaa","id":"bbbbbbbbb"},{"name":"cccccccc","id":"dddddd"},{"name":"eeeee","id":"ffffff"}]}

J'obtiens cela dans ma page web en faisant l'instruction :

echo file_get_contents($graph_url2);

J'ai essayé les json_decode( .... , true) dans tous les sens et je trouve des erreurs.

Pourriez - vous m'aider?

Merci beaucoup.

Re: Json en php

Posté : 30 mars 2011, 22:23
par moogli
salut,

je viens de tester ton bout json
<?php
$d = '{"data":[{"name":"aaaaaaa","id":"bbbbbbbbb"},{"name":"cccccccc","id":"dddddd"},{"name":"eeeee","id":"ffffff"}]}';
$x = json_decode($d,true);
var_dump($x);
?>
$x est bien un tableau à 2 dimensions !
array
'data' =>
array
0 =>
array
'name' => string 'aaaaaaa' (length=7)
'id' => string 'bbbbbbbbb' (length=9)
1 =>
array
'name' => string 'cccccccc' (length=8)
'id' => string 'dddddd' (length=6)
2 =>
array
'name' => string 'eeeee' (length=5)
'id' => string 'ffffff' (length=6)
peut tu donner plus d'infos sur ton problème ?

@+

Re: Json en php

Posté : 31 mars 2011, 13:04
par devquentin
Le problème c'est que lorsque je fais echo $x[1,'name'] ; j'ai une erreur..

Je pense que je ne sais pas utiliser $x .

Merci de votre aide.

Re: Json en php

Posté : 31 mars 2011, 13:10
par Berzemus
Je pense que je ne sais pas utiliser $x .
Utiliser Php ce serait déjà bien :wink:

C'est censé être quoi ceci: $x[1,'name'] ? :?

Re: Json en php

Posté : 31 mars 2011, 13:11
par xTG
En PHP on accède aux tableaux multidimensionnels ainsi :
echo $x[1]['name'];

Re: Json en php

Posté : 31 mars 2011, 14:04
par devquentin
Merci de vos réponses.

Le problème est que lorsque je fais
$a = json_decode(file_get_contents($graph_url2),true)['data'];
echo $a[1]['name'];

sur la page je reçois : arse error: syntax error, unexpected '['

Alors que je veux que la page affiche aaaaa.
Je ne comprend vraiment pas la structure du tableau je crois.
Merci pour votre aide!

Re: Json en php

Posté : 31 mars 2011, 14:24
par AoSiX
Je ne sais pas bien d'où vient ta syntaxe, mais PHP n'est pas aussi permissif... Tu ne peux pas demander un indice d'un tableau retourné par un fonction en PHP !

Re: Json en php

Posté : 31 mars 2011, 14:39
par Berzemus
Je ne sais pas bien d'où vient ta syntaxe, mais PHP n'est pas aussi permissif... Tu ne peux pas demander un indice d'un tableau retourné par un fonction en PHP !
En clair:
$a = json_decode(file_get_contents($graph_url2),true)['data'];

:evil: :evil: :evil:

Re: Json en php

Posté : 31 mars 2011, 14:51
par stealth35

Re: Json en php

Posté : 31 mars 2011, 15:02
par Maskime
Hello,

Bon en tout cas tu peux pas faire comme ça...
Il faut que tu le fasses en 2 étapes :
$toto = json_decode(file_get_contents($graph_url2),true);
$a=$toto['data'];
Et là tu peux parcourir ton tableau pour récupérer tes valeurs.

Re: Json en php

Posté : 31 mars 2011, 15:20
par devquentin
Merci beaucoup ça marche!!!!
Bonne continuation!

Re: Json en php

Posté : 31 mars 2011, 15:22
par moogli
juste au cas ou $toto[0]['data'] c'est du deux dimesion :)

@+