2010-02-10 8 views
2

ce que je reçois comme une chaîne à partir d'une URL de recherche de flux JSON (encodée): fonctioncomment décoder cette chaîne JSON?

{"updated":1265787927,"id":"http://www.google.com/reader/api/0/feed-finder?q\u003dhttp://itcapsule.blogspot.com/\u0026output\u003djson","title":"Feed results for \"http://itcapsule.blogspot.com/\"","self":[{"href":"http://www.google.com/reader/api/0/feed-finder?q\u003dhttp://itcapsule.blogspot.com/\u0026output\u003djson"}],"feed":[{"href":"http://itcapsule.blogspot.com/feeds/posts/default"}]} 

Comment puis-je décoder à l'aide json_decode() en php et obtenir le dernier élément du tableau (« d'alimentation ») ? je l'ai essayé avec le code suivant, mais pas de chance

$json = file_get_contents("http://www.google.com/reader/api/0/feed-finder?q=http://itcapsule.blogspot.com/&output=json"); 
$ar = (array)(json_decode($json,true)); 
print_r $ar; 

S'il vous plaît aider ..

+1

Excuses si je suis malentendu mais ne veux-tu pas juste $ ar ['feed']? – jasonbar

+0

Il n'y a pas besoin de cast en PHP. –

+0

@Jasonbar, Oui, vous avez raison. Je n'ai besoin que de la valeur "feed". – Orion

Répondre

2
$array = json_decode($json, true); 
$feed = $array['feed']; 

Notez que json_decode() retourne déjà un tableau lorsque vous appelez avec true comme second paramètre.

Mise à jour:

Comme la valeur de feed JSON

"feed":[{"href":"http://itcapsule.blogspot.com/feeds/posts/default"}] 

est un tableau d'objets, le contenu de $array['feed'] est:

Array 
(
    [0] => Array 
     (
      [href] => http://itcapsule.blogspot.com/feeds/posts/default 
     ) 
) 

Pour obtenir l'URL avoir à accéder au tableau avec $array['feed'][0]['href'] ou $feed[0]['href'].

Mais ceci est la manipulation de base des tableaux. Peut-être que le Arrays documentation vous aide.

+0

@Felix, Maintenant, je reçois le résultat en tant que "Array" :( – Orion

+0

@Raveesh: Voir ma mise à jour –

+0

Merci mec.Il fonctionne !! vous êtes un champion !! – Orion

Questions connexes