2017-08-17 14 views
1

私は多くの類似した記事を読みましたが、正しく動作するようには思えません。私は解析することができ、全体のjsonファイルは、Shazamのチャートです。ネストされたキーを選択して値を取得しようとしています。 artist、title、およびnumberOfShazamsの値のみを属性に取得するにはどうすればよいですか?ここでPHPで多次元jsonファイルを解析する

は、これまでの私のコードです:

<?php 
$json = file_get_contents('http://cdn.shazam.com/shazam/v2/en/MX/android/-/tracks/web_chart_world'); 
$json_data = json_decode($json,true); 
$jsonIterator = new RecursiveIteratorIterator(
    new RecursiveArrayIterator(json_decode($json, TRUE)), 
    RecursiveIteratorIterator::SELF_FIRST); 
foreach ($jsonIterator as $key => $val) { 
    if(is_array($val)) { 
     echo "$key:<br>"; 
    } else { 
     echo "$key => $val<br>"; 
    } 
} 
?> 

答えて

0

私は私が正しくあなたを理解してほしい、とあなたはtracktitle、trackartist、およびnumberOfShazamsを望んでいました。これは私のために働く:

<?php 
$json = file_get_contents('http://cdn.shazam.com/shazam/v2/en/MX/android/-/tracks/web_chart_world'); 
$json_data = json_decode($json,true); 

foreach($json_data['chart'] as $chart) 
{ 
    echo '<p>'; 
    echo urldecode($chart['urlparams']['{tracktitle}']); 
    echo '<br />'; 
    echo urldecode($chart['urlparams']['{trackartist}']); 
    echo '<br />'; 
    echo $chart['properties']['numberOfShazams']; 
    echo '</p>'; 
} 
+0

はい、まさに私が探していたものです、ありがとう! – GeorgeP