我使用 last.fm API 来获取用户最近的曲目,它返回 JSON 字符串或 XML 文档。
我应该使用哪个?我想使用 PHP 让曲目名称回显,我应该怎么做?
非常感谢!
基本上,我取决于您是否已经在使用非常好的 xml 解析器,以及您是否对 xml 比对 json 更满意。但是从第三人称的角度来看,在 php 中使用带有“json_decode”函数的 JSON 表示将非常容易,这将直接为您提供一个等效于 json 表示的对象。
根据我的说法,使用带有 json_decode 的 JSON 将是最简单的解决方案。有关更多信息,请查看 php 手册http://php.net/manual/en/function.json-decode.php
我更喜欢Json
1- 使用file_get_contents你可以得到 json。
2- 使用json_decode解码 Json
3- 使用foreach得到你想要的值
$json_string = file_get_contents('http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=rj&limit=5&api_key=cf9021419b97b1e4611d580e6304e5be&format=json');
$parsed_json = json_decode($json_string);
if (is_array($parsed_json) && !empty($parsed_json)) {
//check if is array and not null
$track = $parsed_json->recenttracks->track;
foreach ($track as $key) {
echo $key->name . '<br>';
}
} else {
echo 'No data available';
}
输出:
赃物摇摆 - 原创
社会知识
看着太阳
下去
害怕射击陌生人
你应该像使用json一样,
$jsonArr=json_decode($yourjson,true);
if(isset($jsonArr['recenttracks']['track']) and !empty($jsonArr['recenttracks']['track']))
{
foreach($jsonArr['recenttracks']['track'] as $track){
echo $track['name'].'<br/>';;
}
}