2011-12-20 10 views
0

は、フィードから引っ張られているJSONです:シンプルなJSON&PHP

{ 
"query": { 
    "count": 1, 
    "created": "2011-12-20T14:52:50Z", 
    "lang": "en-US", 
    "results": { 
    "nowplaying": { 
    "song": { 
    "title": "Silent Night", 
    "artist": "Jaci Velasquez", 
    "time": "2011-12-20 09:49:51" 
    } 
    } 
    } 
} 
} 

私はフィードが正しく来ている知っています。私は次のようで、「タイトル」にプルしようとしていますが、動作していないよう:

<?php foreach($feed->query->results->nowplaying as $item) { ?> 
      <?php echo $item->title; ?> 
<?php } ?> 

私は、私が行方不明ですかわからないんだけど。任意のヒント?!ありがとう!

+0

あなたはどのようなエラーを得ているの?何が効いていないのですか? –

答えて

4

どのように取得して解析していますか?あなたが最も可能性の高い文字列として取得している場合は、まずjson_decodeと解析する必要があります。 2番目のパラメータとしてtrueを指定すると、オブジェクトではなく配列を取得できます。作業が簡単です。

$feed = json_decode($json, true); 

次に、連想配列のような個々のプロパティにアクセスできます。そのJSONには配列がないので、ループは必要ありません。

$song = $feed['query']['results']['nowplaying']['song']['title']; 
+0

パーフェクト。文字列から配列を作成し、オブジェクトを作成する単純な原則。ありがとうございました! – user987842

+0

@ user987842ようこそ。 –

3

あなたはこの試みることができる:

$item->song->title 

または

<?php foreach($feed->query->results->nowplaying->song as $item) { ?> 
     <?php echo $item->title; ?> 
<?php } ?> 
+0

私はXeon06の回答も行っています。私はあなたがオブジェクトにJSONを解析していると思いました。 – Gonzalo

関連する問題