将 spotify json 文件转换为 html

Converting spotify json file to html

我正在尝试将 spotify json 文件转换为 html table。然而这个 json 文件有点复杂。我在某处犯了一个错误,但无法找出我做错了什么。什么是正确的代码?

<?php
    $spotifylist = "http://spotifycharts.com/api/?type=regional&country=nl&recurrence=daily&date=latest&limit=200";
    $contents = file_get_contents($spotifylist); 
    $decoded = json_decode($contents,true); 
    $results = $decoded->entries[0]->items;

    echo "<table class='chart'> <thead><tr class='row2'><th class='dw'></th><th class='song'>Artiest</th><th class='song'>Titel</th></tr></thead><tbody>";      

    foreach($results as $entry){
      $artist = $entry->track->artists->name;
      $name = $entry->track->name;
      $x = $entry + 1;  
      $color = ($x%2 == 0)? 'row2': 'row1'; 
      echo "<tr class='$color'>";   
        echo "<td class='dw'>". $x ."</td>"; 
        echo "<td class='song'>". $artist ."</td>";
        echo "<td class='song'>". $name ."</td>";
      echo "</tr>";  
    }
    echo "</tbody></table>";
?>

问候

您的代码有点混乱。我已经稍微清理了它以便它可以工作,但我认为你需要更仔细地观察它——它从提要中提取非常精确的数据片段,这可能不安全。

下面的工作代码:

<?php
    $spotifylist = "http://spotifycharts.com/api/?type=regional&country=nl&recurrence=daily&date=latest&limit=200";
    $contents = file_get_contents($spotifylist); 
    $decoded = json_decode($contents); 
    $results = $decoded->entries->items;

    echo "<table class='chart'> <thead><tr class='row2'><th class='dw'></th><th class='song'>Artiest</th><th class='song'>Titel</th></tr></thead><tbody>";      

    $counter = 0;

    foreach($results as $entry){
        ++$counter;

        $artist = (string)$entry->track->artists[0]->name;
        $name = $entry->track->album->name;
        $color = ($counter % 2 == 0) ? 'row2': 'row1'; 
        echo "<tr class='$color'>";   
        echo "<td class='dw'>$counter</td>"; 
        echo "<td class='song'>". $artist ."</td>";
        echo "<td class='song'>". $name ."</td>";
        echo "</tr>";  
    }

    echo "</tbody></table>";
?>