2016-09-27 5 views
-1

でデコードされたJSON配列を解析:私はFacebookのAPIから受け取ったデコードされたJSON配列を持つPHP

$Myposts = json_decode($response->getBody()); 

は私が印刷された$ Myposts:

var_dump($Myposts); 

それは、これをgived:

object(stdClass)[16] 
    public 'data' => 
    array (size=24) 
     0 => 
     object(stdClass)[12] 
      public 'message' => string 'a mesagge..' (length=65) 
      public 'created_time' => string '2016-09-18T16:41:10+0000' (length=24) 
      public 'id' => string '111110037' (length=35) 
     1 => 
     object(stdClass)[28] 
      public 'message' => string 'How brave !' (length=11) 
      public 'story' => string 'XXX shared Le XX video.' (length=59) 
      public 'created_time' => string '2016-09-18T13:37:33+0000' (length=24) 
      public 'id' => string '102172976' (length=35) 

     23 => 
     object(stdClass)[50] 
      public 'message' => string '...a message..' (length=259) 
      public 'story' => string 'Bi added 3 new photos.' (length=33) 
      public 'created_time' => string '2015-12-11T20:54:21+0000' (length=24) 
      public 'id' => string '102191588' (length=35) 
    public 'paging' => 
    object(stdClass)[51] 
     public 'previous' => string 'https://graph.facebook.com/v2.7/XXXX&__paging_token=YYYY&__previous=1' (length=372) 
     public 'next' => string 'https://graph.facebook.com/v2.7/XXX/feed?access_token=DDDD&limit=25&until=XXX&__paging_token=XXXX' (length=362) 

私はこのPHPの新機能ですが、この出力をどのように処理するかはわかりません。すべてのメッセージをループしてcreを出力したいと思います各メッセージのated_time。

アイデア?

編集:私は試しました:echo $myPosts['data'][message];からParsing JSON file with PHP、しかし私は持っていた: "未定義インデックス:メッセージ"。だから私は新しい質問を投稿した。

json_decode
+1

$myPosts = json_decode($response->getBody()); foreach ($myPosts->data as $post) { var_dump($post->message); } 
可能な重複:

$myPosts = json_decode($response->getBody(), true); foreach ($myPosts['data'] as $post) { var_dump($post['message']); } 

第二パラメータを使用しないと復号がオブジェクトを返します。 com/questions/4343596/parsing-json-file-with-php – Marcs

+0

これらの値をuseループよりも使用したい場合は、 – devpro

+0

ループを使用しようとしましたが、データ配列を抽出する方法がわかりませんでした。 私はこのメッセージを使用しました: \t foreach($ aposts ['data'] $ item) \t { \t echo "items:" $ item ['message']。 "\ n"; \t}「 」がエラーになりました。 – Bill

答えて

1

の2番目のパラメータは連想配列に結果が変わります。http:// stackoverflowのの

+0

私は最初のものをテストしました、それは動作します!私はなぜこのエラーが出ているのかわかりません: 'Notice:未定義のインデックス:C:\ wamp64 \ www \ ctest.phpの131行目のメッセージ' もう1つは、未定義のプロパティ:stdClass :: $ message in C:\ wamp64 \ www \ ctest.php 138行目 – Bill

+0

多分、すべての投稿にメッセージがあるわけではありません。表示する前に投稿にメッセージがあるかどうかを確認してください。 –

+1

本当です。どうもありがとう ! – Bill

関連する問題