如何使用PHP将JSON解析为html表?
发布时间:2020-12-13 21:28:42 所属栏目:PHP教程 来源:网络整理
导读:我必须在我的网站上找到一张桌子.并且必须从中获取此表的数据 “ http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015cmp_ID=373” 我尝试了很多东西,但没有任何作用…… !DOCTYPE html html head script type="text/javascript" src="http://cd
我必须在我的网站上找到一张桌子.并且必须从中获取此表的数据
“ http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373” 我尝试了很多东西,但没有任何作用…… <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> </head> <body> <?php $json=file_get_contents("http://west.basketball.nl/db/json /stand.pl?szn_Naam=2014-2015&cmp_ID=373"); $data = json_decode($json); if (count($data)) { // Open the table echo "<table>"; // Cycle through the array foreach ($data as $stand) { // Output a row echo "<tr>"; echo "<td>$afko</td>"; echo "<td>$positie</td>"; echo "</tr>"; } // Close the table echo "</table>"; } ?> </body> </html> 解决方法
从外部源获取数据时要做的第一件事就是了解返回的内容.
那样做 <?php $json=file_get_contents("http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373"); $data = json_decode($json); print_r($data); 结果: stdClass Object ( [stand] => Array ( [0] => stdClass Object ( [afko] => Risne Stars HS 1 [ID] => 2091 [status] => Actief [gespeeld] => 3 [percentage] => 100.0 [punten] => 6 [tegenscore] => 149 [eigenscore] => 191 [datum] => 2014-10-05 [saldo] => 42 [team] => Risne Stars Heren 1 [positie] => 1 ) [1] => stdClass Object ( [afko] => D.B.V. Arriba HS 2 [ID] => 1813 [status] => Actief [gespeeld] => 2 [percentage] => 0.0 [punten] => 0 [tegenscore] => 116 [eigenscore] => 102 [datum] => 2014-10-05 [saldo] => -14 [team] => D.B.V. Arriba Heren 2 [positie] => 10 ) [2] => stdClass Object ( [afko] => The Valley Bucketeers HS 2 [ID] => 2430 [status] => Actief [gespeeld] => 2 [percentage] => 0.0 [punten] => 0 [tegenscore] => 177 [eigenscore] => 70 [datum] => 2014-10-05 [saldo] => -107 [team] => The Valley Bucketeers Heren 2 [positie] => 11 ) [3] => stdClass Object ( [afko] => Uitsmijters HS 2 [ID] => 2143 [status] => Actief [gespeeld] => 2 [percentage] => 100.0 [punten] => 4 [tegenscore] => 79 [eigenscore] => 161 [datum] => 2014-10-05 [saldo] => 82 [team] => Uitsmijters Heren 2 [positie] => 2 ) [4] => stdClass Object ( [afko] => Picker Reds HS 1 [ID] => 2056 [status] => Actief [gespeeld] => 3 [percentage] => 66.7 [punten] => 4 [tegenscore] => 193 [eigenscore] => 184 [datum] => 2014-10-05 [saldo] => -9 [team] => Picker Reds Heren 1 [positie] => 3 ) [5] => stdClass Object ( [afko] => Peatminers HS 2 [ID] => 6247 [status] => Actief [gespeeld] => 1 [percentage] => 100.0 [punten] => 2 [tegenscore] => 36 [eigenscore] => 64 [datum] => 2014-10-05 [saldo] => 28 [team] => Peatminers Heren 2 [positie] => 4 ) [6] => stdClass Object ( [afko] => Jolly Jumpers HS 1 [ID] => 1994 [status] => Actief [gespeeld] => 2 [percentage] => 50.0 [punten] => 2 [tegenscore] => 103 [eigenscore] => 119 [datum] => 2014-10-05 [saldo] => 16 [team] => Jolly Jumpers Heren 1 [positie] => 5 ) [7] => stdClass Object ( [afko] => TONEGO '65 HS 2 [ID] => 2120 [status] => Actief [gespeeld] => 2 [percentage] => 50.0 [punten] => 2 [tegenscore] => 107 [eigenscore] => 122 [datum] => 2014-10-05 [saldo] => 15 [team] => TONEGO '65 Heren 2 [positie] => 6 ) [8] => stdClass Object ( [afko] => Amical HS 2 [ID] => 1791 [status] => Actief [gespeeld] => 3 [percentage] => 33.3 [punten] => 2 [tegenscore] => 180 [eigenscore] => 195 [datum] => 2014-10-05 [saldo] => 15 [team] => Amical Heren 2 [positie] => 7 ) [9] => stdClass Object ( [afko] => S.V.Z.W. HS 2 [ID] => 5526 [status] => Actief [gespeeld] => 3 [percentage] => 33.3 [punten] => 2 [tegenscore] => 174 [eigenscore] => 151 [datum] => 2014-10-05 [saldo] => -23 [team] => S.V.Z.W. Heren 2 [positie] => 8 ) [10] => stdClass Object ( [afko] => Twente Buzzards HS 3 [ID] => 2294 [status] => Actief [gespeeld] => 3 [percentage] => 33.3 [punten] => 2 [tegenscore] => 196 [eigenscore] => 151 [datum] => 2014-10-05 [saldo] => -45 [team] => Twente Buzzards Heren 3 [positie] => 9 ) ) [nummer] => OHS2C [version] => 1.0 [aantal_teams] => 11 [id] => 373 [seizoen] => 2014-2015 [naam] => Oost Afdeling Heren Senioren 2e klasse C [gewijzigd] => 2014-10-05 18:34:25 ) 所以现在你知道你正在处理一个OBJECT而不是标量值或数组. 所以试试这个代码: – <?php $json=file_get_contents("http://west.basketball.nl/db/json/stand.pl?szn_Naam=2014-2015&cmp_ID=373"); $data = json_decode($json); if (count($data->stand)) { // Open the table echo "<table>"; // Cycle through the array foreach ($data->stand as $idx => $stand) { // Output a row echo "<tr>"; echo "<td>$stand->afko</td>"; echo "<td>$stand->positie</td>"; echo "</tr>"; } // Close the table echo "</table>"; } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |