2017-08-17 166 views
1

我已經閱讀了許多類似的帖子,但我似乎無法讓它正常工作。我可以解析和整個json文件,它是一個來自Shazam的圖表。我堅持選擇嵌套鍵並獲得它們的值。我如何才能將藝術家,標題和數字的Shazams值賦予屬性?使用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